Docker搭建的大数据环境,一键启停!
代码未动,环境先行
我是一个Docker 爱好者。我在学习大数据相关技术的时候,想到了一个点子:
用docker搭建一个大数据开发环境!
这么做有什么好处呢 ?
我只要有了这个docker-compose.yml 容器编排描述文件,我就可以在任何一个安装docker 软件的机器里,启动我的大数据环境。
一劳永逸的事情,不正是我们程序员每天都在做并且是努力的目标吗?
如何做?
找遍了国内的博客和帖子,都没有合适的答案。
我只能自己来。
docker hub
首先我去到docker hub 。 这个就是 github的 docker 版本。
我在里面搜索了 很多 Hadoop , spark 等等关键词,找到了一家公司;
这家公司 几乎把所有的 大数据组件都做成了 docker image 。 而且是细粒度,分角色 去划分的。真的太棒了。
比如 你现在看到的这个图片,就是 他针对于 Hadoop 中 namenode 这一角色做的docker image。如果你在其之上做一些封装和个性化定制将会变得特别容易。
于是我就从他的Registry 中找我想要的大数据组件
Hadoop
Hive
Spark
easy , 全都找到了。
虚拟机
接线来我们就需要 在虚拟机中安装docker了。
什么 还需要虚拟机 ?
这里我说一下,安装一个虚拟机吧,windows 各种不方便。(mac 的朋友可以飘过)。
虚拟机我使用 virtual box , 安装的 ubuntu 。
然后我就开始安装docker了。
安装了docker 还需要安装他的孪生兄弟,docker-compose
docker-compose.yml
docker-compose 让docker 容器的编排变得简单。
docker-compose.yml 记录了如何编排的过程。他是一个描述文件!
如下 是我大数据环境的docker-compose.yml 文件!
后来我需要用到 elasticsearch 和 kibana , 我就直接加上去了。真的非常方便。
最重要的是 他可以 轻松的 share 给你的小伙伴,好基友。
接下来我们需要写一个启动脚本,一个停止脚本。这样就能实现一键启停了。
run.sh
stop.sh
来看下效果:
启动成功了。验证一下