1.zookeeper集群在部署的时候,节点数量必须是不少于3个的奇数。
2.zookeeper是一个分布式协调框架,可以保持集群中数据事务一致性
集群搭建
1.解压
tar -zxvf zookeeper-3.4.5.tar.gz 可以使用mv 重命名为zookeeper 便于操作
2.修改环境变量
vi /etc/profile
添加export ZOOKEEPER_HOME=your path
并将bin目录加入path
3.重命名zookeeper的conf下的配置文件zoo.sample.cfg为zoo.cfg
vi zoo.cfg
设置里面的dataDir为一个固定路径(默认指定的是一个临时目录,每当集群重启会清空)
再添加集群节点配置
server.0=hadoop1:2888:3888
server.1=hadoop2:2888:3888
server.2=hadoop3:2888:3888
server.3=hadoop4:2888:3888
server.4=hadoop5:2888:3888
server后面是每个节点的编号,后面等于节点的主机名称,2888端口用于zookeeper集群间数据同步传输,3888端口用于zookeeper的选举机制
4.在刚才设置的dataDir路径中创建标识主机的值,也就是server.0中的0(举例)
vi yourDataDir/myid 名称必须是myid 文件里只写代表该主机在zookeeper中的标识,此处为0
5.将配置好的整个zookeeper文件夹发送到其它节点
scp -r /usr/local/zookeeper hadoop2:/usr/local
分别发送到hadoop3 hadoop4 hadoop5中
再将/etc/profile 分别发送到各个节点 分别执行source /etc/profile 重新应用环境变量
分别将每个节点上的myid中的内容修改为对应的数值,用于区分zookeeper集群中的节点
6.启动
在每个节点上分别执行zkServer.sh start 会在执行命令的当前路径产生zookeeper.out文件,里面会看到与尚未启动的其他节点的连接错误信息
执行zkServer.sh status 查看各节点的角色(leader or follwer)
7.可以使用zkCli.sh 进入zookeeper命令行模式,随便输入后回车会有命令提示,可以使用set命令创建节点并赋值
create /node1 value1 在根目录下添加节点node1 值为 value1 。到另一台集群中的节点使用get /node1 验证数据同步性