1.Zookeeper概念简介:
Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务
- zookeeper是为别的分布式程序服务的
- Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)
- Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……
- 虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:
管理(存储,读取)用户程序提交的数据;
并为用户程序提供数据节点监听服务;
Zookeeper集群的角色: Leader 和 follower (Observer)
只要集群中有半数以上节点存活,集群就能提供服务
2. 安装
搭建方式是在hadoop集群的基础上搭建的:https://blog.csdn.net/weixin_38201936/article/details/85096496
现在提取mini1 、mini2、mini3三台虚拟机作为集群,mini1作为namenode 主节点 mini2、mini3作为datanode 从节点
所以当zookeeper 安装成功后 mini1,mini2 为 follower mini3 为 leader
百度云安装包: https://pan.baidu.com/s/12X9zr7BhNQmBeqHkRKMYdw 提取码:y7b5
2.1 上传安装包 并解压到apps文件夹下 然后修改名称为zookeeper 命令如下:
tar -zxvf zookeeper-3.4.5.tar.gz /home/hadoop/apps
cd apps
mv zookeeper-3.4.5.tar.gz zookeeper
2.2 修改环境变量 1 进入root用户 2 vi /etc/profile(修改文件) 3、添加内容:4、重新编译文件:source /etc/profile
5、注意:3台zookeeper都需要修改 6、修改完成后切换回hadoop用户: exit
1 su
2 vi /etc/profile
3 export ZOOKEEPER_HOME=/home/hadoop/apps/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
4 source /etc/profile
5 去其他两台虚拟机上重复上面的操作
6 exit
2.3 修改配置 进入到 zookeeper/conf 文件夹下 修改 zoo.xxx.cfg 为 zoo.cfg
mv zoo.xxx.cfg zoo.cfg
2.4 编辑 zoo.cfg 修改 如下红框的数据 因为是三台虚拟机 所以需要配置mini1 mini2 mini3 对应的zookeeper 的 (主机名, 心跳端口、数据端口)
dataDir 的路径指的是生成的日志文件存放在那 我是在hadoop用户名的根目录下新建了一个文件夹叫zadata
2.5上面配置完之后,新建zkdata 文件夹 用来存放日志文件 然后在文件夹下新建一个文件 用来区分三台服务器对应的不同的信息
mkdir zkdata
echo 1 > zkdata/myid
2.6 现在将mini1上的zookeeper拷贝到mini2,mini3 上 ,并执行2.4的操作
scp -r zookeeper/ mini2:/home/hadoop/apps
scp -r zookeeper/ mini3:/home/hadoop/apps
mini2:
mkdir zkdata
echo 2 > zkdata/myid
mini3:
mkdir zkdata
echo 3 > zkdata/myid
2.7 分别进入到 三台zookeeper下的bin目录下 启动 ./zkServer.sh start 启动之后查看虚拟机上的结点
2.8 如要关闭请执行 ./zkServer.sh stop 则将关闭服务