Docker 搭建的大数据环境,一键启停
代码未动,环境先行

我是一个Docker爱好者。我在学习大数据相关技术的时候,想到了一个点子:

用docker搭建一个大数据开发环境!
这么做有什么好处呢 ?

我只要有了这个docker-compose.yml 容器编排描述文件,我就可以在任何一个安装docker 软件的机器里,启动我的大数据环境。
一劳永逸的事情,不正是我们程序员每天都在做并且是努力的目标吗?

如何做?

找遍了国内的博客和帖子,都没有合适的答案。
我只能自己来。

docker hub
首先我去到docker hub 。 这个就是 github的 docker 版本。
我在里面搜索了 很多 Hadoop , spark 等等关键词,找到了一家公司;

Docker 搭建的大数据环境,一键启停

这家公司 几乎把所有的 大数据组件都做成了 docker image 。 而且是细粒度,分角色 去划分的。真的太棒了。
比如 你现在看到的这个图片,就是 他针对于 Hadoop 中 namenode 这一角色做的docker image。如果你在其之上做一些封装和个性化定制将会变得特别容易。

于是我就从他的Registry 中找我想要的大数据组件

Hadoop
Hive
Spark
easy , 全都找到了。

虚拟机

接线来我们就需要 在虚拟机中安装docker了。
什么 还需要虚拟机 ?
这里我说一下,安装一个虚拟机吧,windows 各种不方便。(mac 的朋友可以飘过)。

虚拟机我使用 virtual box , 安装的 ubuntu 。
然后我就开始安装docker了。
安装了docker 还需要安装他的孪生兄弟,docker-compose

Docker 搭建的大数据环境,一键启停
docker-compose.yml

docker-compose 让docker 容器的编排变得简单。
docker-compose.yml 记录了如何编排的过程。他是一个描述文件!
如下 是我大数据环境的docker-compose.yml 文件!


version: '2'
services:namenode:image: bde2020/hadoop-namenode:1.1.0-hadoop2.8-java8container_name: namenodevolumes:- ./data/namenode:/hadoop/dfs/nameenvironment:- CLUSTER_NAME=testenv_file:- ./hadoop-hive.envports:- 50070:50070- 8020:8020  datanode:image: bde2020/hadoop-datanode:1.1.0-hadoop2.8-java8depends_on: - namenodevolumes:- ./data/datanode:/hadoop/dfs/dataenv_file:- ./hadoop-hive.envports:- 50075:50075hive-server:image: bde2020/hive:2.1.0-postgresql-metastorecontainer_name: hive-serverenv_file:- ./hadoop-hive.envenvironment:- "HIVE_CORE_CONF_javax_jdo_option_ConnectionURL=jdbc:postgresql://hive-metastore/metastore"ports:- "10000:10000"hive-metastore:image: bde2020/hive:2.1.0-postgresql-metastorecontainer_name: hive-metastoreenv_file:- ./hadoop-hive.envcommand: /opt/hive/bin/hive --service metastoreports:- 9083:9083hive-metastore-postgresql:image: bde2020/hive-metastore-postgresql:2.1.0ports:- 5432:5432volumes:- ./data/postgresql/:/var/lib/postgresql/dataspark-master:image: bde2020/spark-master:2.1.0-hadoop2.8-hive-java8container_name: spark-masterports:- 8080:8080- 7077:7077env_file:- ./hadoop-hive.envspark-worker:image: bde2020/spark-worker:2.1.0-hadoop2.8-hive-java8depends_on:- spark-masterenvironment:- SPARK_MASTER=spark://spark-master:7077ports:- "8081:8081"env_file:- ./hadoop-hive.envmysql-server:image: mysql:5.7container_name: mysql-serverports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=zhangyang517volumes:- ./data/mysql:/var/lib/mysqlelasticsearch:image: elasticsearch:6.5.3environment:- discovery.type=single-nodeports:- "9200:9200"- "9300:9300"networks: - es_networkkibana:image: kibana:6.5.3ports:- "5601:5601"networks: - es_networknetworks:es_network:external: true

后来我需要用到 elasticsearch 和 kibana , 我就直接加上去了。真的非常方便。
最重要的是 他可以 轻松的 share 给你的小伙伴,好基友。

接下来我们需要写一个启动脚本,一个停止脚本。这样就能实现一键启停了。
run.sh

#!/bin/bash

docker-compose -f docker-compose.yml up -d namenode hive-metastore-postgresql
docker-compose -f docker-compose.yml up -d datanode hive-metastore
sleep 5
docker-compose -f docker-compose.yml up -d hive-server
docker-compose -f docker-compose.yml up -d spark-master spark-worker
docker-compose -f docker-compose.yml up -d mysql-server
#docker-compose -f docker-compose.yml up -d elasticsearch
#docker-compose -f docker-compose.yml up -d kibana
my_ip=`ip route get 1|awk '{print $NF;exit}'`
echo "Namenode: http://${my_ip}:50070"
echo "Datanode: http://${my_ip}:50075"
echo "Spark-master: http://${my_ip}:8080"

stop.sh

#!/bin/bash
docker-compose stop

来看下效果:

Docker 搭建的大数据环境,一键启停
启动成功了。验证一下

原文链接:https://www.toutiao.com/a6781686481690821132/?tt_from=weixin&utm_campaign=client_share&app=news_article&utm_source=weixin&iid=4309686640186884&utm_medium=toutiao_ios&wxshare_count=1

Docker 搭建的大数据环境相关推荐

  1. VMWare搭建三台大数据环境虚拟机

    1.下载CentOS7 百度搜索centos-->2.点击centos官网连接-->3.点击DVD ISO-->下载. 2.安装虚拟机管理软件VMWare 3.创建虚拟机 启动虚拟机 ...

  2. 从搭建大数据环境说起,到执行WordCount所遇到的坑

    从搭建大数据环境说起,到执行WordCount所遇到的坑 文章目录 从搭建大数据环境说起,到执行WordCount所遇到的坑 背景说明 基于`docker compose`的大数据环境搭建 docke ...

  3. [转]大数据环境搭建步骤详解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安装与配置)

    大数据环境安装和配置(Hadoop2.7.7,Hive2.3.4,Zookeeper3.4.10,Kafka2.1.0,Flume1.8.0,Hbase2.1.1,Spark2.4.0等) 系统说明 ...

  4. 使用Docker搭建大数据Hadoop环境

    使用Docker搭建大数据Hadoop环境 一.安装Docker 原文地址:https://www.imooc.com/article/48676.http://www.runoob.com/dock ...

  5. 利用docker搭建服务器集群并部署大数据生态软件

    1.集群搭建与配置 本来想使用centos镜像搭建服务器集群,但最小化安装版的镜像也需要1G左右,如果后面再部署一些大数据软件,单是多台服务器环境部署就会占用大量空间,加上此版本镜像在不同电脑环境的安 ...

  6. 数据分析:大数据环境安装(docker+docker-compose+spark+hadoop+hive)

    大数据环境安装 VirtualBox虚拟机下载地址:https://www.virtualbox.org/wiki/Downloads Vagrant下载地址:https://www.vagrantu ...

  7. 【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析⑤

    大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第⑤期, ...

  8. 【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析③

    大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第③期, ...

  9. 【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析②

    大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第②期, ...

最新文章

  1. android 一维数组遍历,$.each()循环遍历一维数组、二维数组、JSON数据和DOM元素
  2. 利用jQuery和CSS实现环形进度条
  3. 一首歌的时间看懂荷兰三色旗问题
  4. boost::hana::slice用法的测试程序
  5. Python异常体系结构图
  6. 四线接近开关接线图_135张图!开关、电机、断路器、电热偶、电表接线图大全!...
  7. 薪资不逊NLP算法岗,边缘AI火了!
  8. 了解常见的网络架构图
  9. 最暖的10个小故事,看完心都融化了
  10. php正则表达式图谱
  11. Java关键字break、return、continue
  12. 2020年“华为杯”中国研究生数学建模竞赛
  13. 直通车测图需要满足哪些数据?
  14. 16部趣味数学纪录片
  15. Nice Songs
  16. WPF之路——绘制几何图形
  17. matlab 固态 机械_电脑是固态+机械硬盘好??纯固态硬盘好?
  18. c语言程序输入自己班级学号,C语言中设计一个程序就是通过输入学号就能知道班级的程序...
  19. 重装系统时出现windows root\system32\ntoskrnl.exe 损坏或者丢失?解决方法。。。。。。
  20. 亚马逊Amazon 753和754详解

热门文章

  1. 水平集和符号距离函数
  2. 抽奖不够吸引用户?根据用户心理进一步优化下吧
  3. luogu 2426
  4. ArcGIS10.2+ 解决shp文件属性表中文乱码问题
  5. Andorid 任意界面悬浮窗,实现悬浮窗如此简单
  6. [超详细]MySQL本地版本升级(从5.5.20到8.0.21)
  7. 2.5D风格场景插画立体图案一键生成PS插件_安装教程
  8. 自组织网络(Ad Hoc Network)——TOPIC 4 IP地址和互联网协议【RIP内容更新】
  9. python读取图像的exif信息
  10. Python 浮点数步长取值方法