hadoop ubantu环境搭建_创帆云大数据教程系列1-搭建基于docker的hadoop环境安装规划、容器通信及zookeeper...
从今天开始,我将原原本本的讲述,如何利用Docker从头到尾搭建一个大数据hadoop环境。
首先,先介绍需要搭建的服务器集群环境,见下图:
总共13台机器(13个docker 容器),其中:
namenode 2个节点,一主一备;
journalnode 3个节点;
resourceManager2个主节点,一主一备;
datanode 3个节点
zookeeper 3个节点
接下来具体一步一步开始:
准备工作
容器内默认是互相不能访问的,这个时候我们需要一个工具(这里推荐weave),先要让容器间可以互相访问,这样大数据间才能正常通信:
所有主机都需要安装
$ curl -L git.io/weave -o /usr/local/bin/weave$ chmod a+x /usr/local/bin/weave
测试是否安装成功
weave version
接下来在weave的主节点上:
weave launch
在其他需要跨物理机互访的节点上:
weave launch ip1 ip2 ip3 ipn......
解析:ip1是前面启动的weave主节点,其他ip是物理机间容器需要互相通信的局域网ip地址
分别对weave状态进行查询
weave status
搭建zookeeper
启动zookeeper基础容器
docker run -itd --name zk XXX /usr/sbin/init
解析:
XXX是镜像的名称,此镜像应该是之前已经制作好的镜像,里面包括了下载的SSH、zookeeper文件以及JDK
注意:镜像的环境变量需要提前配置好,参考如下:
具体的环境变量的路径,根据你实际安装的路径修改:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64JRE_HOME=$JAVA_HOME/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOME CLASS_PATH PATHexport ZOOKEEPER_HOME=/usr/local/apache-zookeeper-3.5.5PATH=$PATH:$ZOOKEEPER_HOME/bin
启动容器后,修改配置
进入zookeeper文件夹的conf目录
cd /usr/local/conf/
将sample文件拷贝
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg文件
vim zoo.cfg
修改:dataDir=zookeeper/tmp
并在文件最后添加:
在最后添加:
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
保存退出后,再创建一个tmp文件夹
mkdir /zookeeper/tmp
再创建一个空文件
touch /zookeeper/tmp/myid
最后向该文件写入ID
echo 1 > /zookeeper/tmp/myid
配置完成,提交zookeeper容器为zookeeper的基础镜像
docker commit zk zk:base
到这里,你的zookeeper的主节点镜像就部署好了。
启动3个zookeeper就很简单了,只需要基于zk:base镜像,创建3个容器,修改下配置就可以
部署zk1、zk2、zk3
注意:为保证容器间可以正常通过zk1、zk2这样的主机名直接通信,运行容器前先需要设置weave变量
先运行:
eval $(weave env)
接着启动容器:
docker run -d --privileged=true -v /home/docker/hadoop/zookeeper/zk1:/zookeeper --name zk1 zk:base /usr/sbin/init
解析:
-v 参数:将本机的文件夹目录与容器内目录共享
–privileged 特权模式,防止出现权限不足的情况,尤其是需要开机启动的服务
–name 将此容器命名为 zk1
设置myid:
echo 1 > /zookeeper/tmp/myid
这样zk1就设置完成,启动服务
zkServer.sh start
运行jps命令,如果和下图一致就成功
其他的zk2、zk3等等,只需要基于基础镜像启动容器,并把/zookeeper/tmp/myid的值改为2、3就可以了
注意:一定要保证容器间能正常通过容器名通信,如在zk2的容器内,
ping zk1
试一下,能正常通信才是集群搭建的基础‘
设置开机启动:
chmod u+x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
文件中输入并保存:
/usr/local/apache-zookeeper-3.5.5/bin/zkServer.sh start
至此,一个完整的三个节点的zookeeper集群就搭建完成。
如果需要查看zookeeper的状态,只需要运行命令:
zkServer.sh status
能看到这个节点是leader还是follower(理论上只有一个leader)
结尾发福利啦!免费云主机,下方链接领取:
免费云主机www.bistudio.com.cn
原文出处:
下一讲如何
搭建namenode及resourceManagerbiblog.bistudio.com.cn
禁止转载,违者必究!
hadoop ubantu环境搭建_创帆云大数据教程系列1-搭建基于docker的hadoop环境安装规划、容器通信及zookeeper...相关推荐
- Windows家庭版下基于Docker的hadoop、Spark集群搭建
Windows家庭版下基于Docker的hadoop.Spark集群搭建 目录 Windows家庭版下基于Docker的hadoop.Spark集群搭建 1.实验目的 2.实验平台 3.实验内容和要求 ...
- 基于Docker的Hadoop完全分布式安装
之前安装Hadoop是用VMWare创建虚拟机,然后安装伪分布式,因为虚拟机太慢,太卡,实在没有玩下去的心情了,现在想到Docker可以实现虚拟化,看看能不能安装Hadoop,网上查了查,果然可以,并 ...
- docker搭建java测试环境_基于docker构建测试环境
目录 0x01介绍 0x02 镜像基本操作 0x03 容器基本操作 0x04 容器的修改与保存 0x05 使用Dockerfile定制镜像 0x01介绍 Docker 是一个开源的应用容器引擎,基于 ...
- 阿里云大数据三次技术突围:Greenplum、Hadoop和飞天
对于企业来说,到底什么是云计算?相信很多企业都有这样的困惑,让我们一起回到这个原始的起点探讨究竟什么是云计算?云计算对于企业而言到底意味什么? 云计算的三条发展路径及三种落地形态 当回到最初的起点再审 ...
- 阿里云大数据三次技术突围:Greenplum、Hadoop和“飞天”
对于企业来说,到底什么是云计算?相信很多企业都有这样的困惑,让我们一起回到这个原始的起点探讨究竟什么是云计算?云计算对于企业而言到底意味什么? 云计算的三条发展路径及三种落地形态 当回到最初的起点再 ...
- 基于docker的hadoop集群搭建
最近想学习如何使用hdfs来存储文件,在网上学习了一下,明确了HDFS(Hadoop Distribute File System 分布式存储).mapReduce(分布式计算).YARN(Yet A ...
- cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块
好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...
- hadoop fs –ls /hbase 无内容_Hadoop大数据实战系列文章之HDFS文件系统
扫码加入千人跳槽求职QQ群,每日都有全国招聘信息哦 Hadoop 附带了一个名为 HDFS(Hadoop分布式文件系统)的分布式文件系统,专门 存储超大数据文件,为整个 Hadoop 生态圈提 ...
- 大数据之-Hadoop_环境搭建_虚拟机准备---大数据之hadoop工作笔记0016
然后我们来安装虚拟机环境 首先我们要准备一个centos的虚拟机这里我用的是,桌面版的. 我们如果以前有做好的,可以克隆以前的. 点击下一步
- 多布局怎么搭建_小展位大吸引力,如何设计搭建出精致的展台?
"每次参展的效果总是不理想,因为展位位置较偏或其他,总是错失了很多专业观众,也就错失了很多的商业机会",这大概是一个较为普遍的现象.每一个展览会都有不同的展位,不同的规模和地点供参 ...
最新文章
- POJ 3669 Meteor Shower
- Python网络爬虫与信息提取(一)(入门篇)
- Android混淆解析
- 关于C/S模式开发的学习笔记
- 局域网内其他电脑通过SSH访问NAT模式下的虚拟机
- 黑马程序员——生成html静态页面,方便seo,加快加载速度
- AWS SQS和Spring JMS集成
- 基于注解风格的Spring-MVC的拦截器
- PDI的steps:(5:Add XML)
- Maven 项目关于 plexus-utils:jar的错误解决
- 大数据之-Hadoop之HDFS_HDFS组成架构---大数据之hadoop工作笔记0050
- Linux注册服务(chkconfig)
- 2022 基于SpringBoot/SSM的数据库查询平台
- 常用Win32 API函数
- 伊甸园日历游戏 c语言,洛谷 P1024 — 一元三次方程求解
- 微信支付(java版本)
- 迄今见过的最好的职业规划文章
- 图的最小生成树(Prim算法、Kruskal算法)
- python中的对数_Python中求对数方法总结
- Primo Ramdisk内存盘工具软件
热门文章
- hadoop hive集群_大数据专栏 | Hive 安装初体验
- maya python 游戏与影视编程指南_Maya Python 游戏与影视编程指南
- cedit多行文本设置透明背景会重叠_python:电商用户评价文本分析(wordcloud+jieba)...
- ElementUI:tree组件背景色、鼠标hover悬浮背景色、选中背景色修改
- SQL:postgresql中st_union合并多条geom数据
- asp.net html 扩展,StaticHtml
- 一把数学上完美的尺子(哥隆尺)
- 接口测试基础与工具(一)
- Asp.net导出Excel/Csv文本格式数据
- SLAM_VIO中的IMU模型