前言
本人大三大数据专业,上周初学如何搭建hadoop环境。配置好了静态ip搭建完了hadoop分布式集群后,开始搭建Zookeeper软件,以后搭建hbase环境(https://blog.csdn.net/master_hunter/article/details/108704148)。在此领域本人有诸多不明确疑问,可能文章会有些许错误,望你们在评论区指正,本篇文章错误将会不断更正维护。html
具体参考了https://www.cnblogs.com/Genesis2018/p/8304708.htmlapache
这位大佬的安装步骤。服务器
1、Zookeeper是什么?
为了实现分布式服务中的数据同步与一致性、群组管理监控、分布投票与锁、以及命名寻址等,须要在集群中提供分布式协调服务。为此便产生了Zookeeper。架构
2、安装步骤
Zookeeper采用集群化部署方式,通常部署在多台服务器上,以防单点失效。为了在投票时易于收敛通常采用奇数台服务器部署。具体架构和存储结构本篇文章不给予阐述,只是部署。分布式
1.镜像下载
本人用的是清华镜像下载的是3.4.14版本的Zookeeper,建议使用带bin后缀的tar包下载,不带bin后缀为源代码形式未编译,安装完后缺乏bin目录,会报错。oop
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper- 3.4.14/zookeeper- 3.4.14.tar.gz
tar -zxvf apache-zookeeper-3.4.14.bin.tar.gz
将zookeeper移至local目录下大数据
mv zookeeper- 3.4.14 /usr/local/
建立zookeeper的数据目录
ui
mkdir -p /usr/local/zookeeper- 3.4.14/dataspa
编辑配置环境
cp /usr/local/zookeeper- 3.4.14/conf/zoo_sample.cfg /usr/local/zookeeper- 3.4.14/conf/zoo.cfg
vi /usr/local/zookeeper- 3.4.14/conf/zoo.cfg
在zoo.cfg添加部署的虚拟机地址
dataDir=/usr/local/zookeeper- 3.4.14/data
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
2888端口号是ZooKeeper服务之间通讯的端口,而3888是ZooKeeper与其余应用程序通讯的端口。
配置zookeeper的环境变量
vi /etc/profile.d/zookeeper.sh
添加
export ZOOKEEPER_HOME=/usr/local/zookeeper- 3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin
记得执行生效
source /etc/profile.d/zookeeper.sh
传给其余虚拟机
scp -r /etc/profile.d/zookeeper.sh hadoopxx:/etc/profile.d/
scp -r /usr/local/zookeeper- 3.4.14 hadoopxx:/usr/local/
查看命令执行成功与否
echo $?
0
在其余节点上
vi /usr/local/zookeeper- 3.4.14/data/myid
添加
1
根据节点数量依次排列
文件中只包含一行,且内容为该节点对应的从属节点中的id
编号。主节点和从属节点分别对应的myid文件中的值是1和2....。
执行保存
source /etc/profile.d/zookeeper.sh
回到master上开启zookeeper
/usr/local/zookeeper- 3.4.14/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper- 3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
利用zkCli.sh连接zookeepe
/usr/local/zookeeper- 3.4.14/bin/zkCli.sh -server hadoop1:2181
[zk: localhost:2181(CONNECTED) 0] help
[zk: localhost::2181(CLOSED) 3] quit
在其余节点上开启服务
# /usr/local/zookeeper- 3.4.14/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper- 3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED# /usr/local/zookeeper- 3.4.14/bin/zkCli.sh -server hadoopxx:2181
[zk:hadoopxx:2181(CONNECTED) 0] quit
1.启动测试
开启全部节点上的zkserver
查看各个节点的状态
/zkServer.sh status
若是成功启动则会显示该节点推选结果是leader或者follower
总结
须要根据日志报的错误自行调配,以后我会发布关于配置zookeeper常见错误的一些解决方法,但愿能帮到你们!