文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言一、zookeeper是什么?二、使用步骤
1.所用的环境及软件2.集群服务器规划3.zookeeper分布式集群4.zookeeper+Hadoop配置5.启动HA集群 总结
前言
`前天看公司的项目大数据的架构,里面除了最基本的Hadoop,还用了zookeeper,Hbase,kafka等第三方的组件,我就试着重新搭建下Hadoop里加入zookeeper,学习下这个组件主要用处
提示:以下是本篇文章正文内容,下面案例可供参考
一、zookeeper是什么?Zookeeper 是一个开源的分布应用程序协调服务,来自于Google 一个开源的实现,是Hadoop 和Hbase 的重要组件。
Zookeeper 可以为分布式应用提供一致性服务,功能包括:配置服务、名字服务、分布式同步、组服务等等。
Zookeeper 在Hadoop HA环境下的主要任务是用来做主备切换。
具体的网上有详细介绍
操作系统:Windows 10
虚拟机:VMware 15.5
集群系统:Centos 7 64位
Zookeeper版本:zookeeper-3.4.10
Hadoop版本:hadoop-3.3.1
ip:192.168.74.88
hostname:hadoop01
software:hadoop,zookeeper
process:
DataNode,NodeManager,QuorumPeerMain,JournalNode,
NameNode,DFSZKFailoverController,ResourceManager
ip:192.168.74.89
hostname:hadoop02
software:hadoop,zookeeper
process:
DataNode,NodeManager,QuorumPeerMain,JournalNode,
NameNode,DFSZKFailoverController
ip:192.168.74.90
hostname:hadoop03
software:hadoop,zookeeper
process:
DataNode,NodeManager,JournalNode,QuorumPeerMain,
ResourceManager
代码如下(示例):
1.zookeeper su hadoop cd /data/zookeeper tar -zxvf zookeeper-3.4.10.tar.gz mv zookeeper-3.4.10 app 2.系统环境变量 gedit ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre export PATH=$JAVA_HOME/bin:$PATH export ZOOKEEPER_HOME=/data/zookeeper/app/ export PATH=$ZOOKEEPER_HOME/bin:$PATH source ~/.bashrc 3.修改zoo.cfg配置 cd /data/zookeeper/app/conf 将zoo_sample.cfg拷贝一份命名zoo.cfg scp zoo_sample.cfg zoo.cfg vim ./zoo.cfg gedit ./zoo.cfg 在/conf/zoo.cfg 添加,三台虚拟机上保持一致 server.88=hadoop01:2888:3888 server.89=hadoop02:2888:3888 server.90=hadoop03:2888:3888 zoo.cfg配置默认的数据存储在 dataDir=/data/zookeeper/data dataLogDir=/data/zookeeper/logs 4.修改myid 在/data/zookeeper/data 目录中新建文件 myid hadoop01中 myid的内容 为 88, hadoop02中 myid的内容 为89, hadoop03中 myid的内容 为 90 与zoo.cfg 中保持一致 重新启动三台虚拟机的zookeeper. zkServer.sh start 查看zookeeper的角色 zkServer.sh status4.zookeeper+Hadoop配置
具体不多说了,详细网上:
1.配置core-site.xml 2.配置hdfs-site.xml 3.配置mapred-site.xml 4.配置yarn-site.xml 5.配置workers文件 6.分发Hadoop安装包到其他节点5.启动HA集群
zkServer.sh start zkServer.sh stop zkServer.sh status hdfs --daemon start journalnode hdfs --daemon stop journalnode hadoop01:hdfs namenode -format hadoop01:hdfs --daemon start namenode hadoop02:hdfs namenode -bootstrapStandby hadoop02:hdfs --daemon start namenode 两个namenode启动完成后,接着给三台主机都启动datanode,使用命令 hadoop01:hdfs --daemon start datanode hadoop02:hdfs --daemon start datanode hadoop03:hdfs --daemon start datanode 格式化ZKFC hdfs zkfc -formatZK 启动ZKFC,使用命令 hdfs --daemon start zkfc stop-all.sh start-all.sh 至此Hadoop HA搭建完成 http://192.168.74.88:9870 (standby)从 http://192.168.74.89:9870 (active)主
NameNode主备自动切换
总结
记录点点滴滴



