Linux(Centos)半小时搞定 Zookeeper 单机版的安装 集群版安装 一、安装包下载上传分发这是博主的安装包集合 本期内容是zk 永久链接地址 从零开始的大数据之路 0的葵花宝典 -- 安装包分享 -- 错过就是罪过 [持续更新分享]-CSDN博客# 分发安装包 scp apache-zookeeper-3.8.0-bin.tar.gz rootslave1:$PWD scp apache-zookeeper-3.8.0-bin.tar.gz rootslave2:$PWD二、单节点zk的安装部署三台服务器一起进行1 解压文件tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /home/softwares/2文件更名#进入解压目录 cd /home/softwares/ #文件更名 mv apache-zookeeper-3.8.0/ zookeeper3配置环境变量vi /etc/profile # 添加ZK的环境变量 export ZOOKEEPER_HOME/home/softwares/zookeeper export PATH$ZOOKEEPER_HOME/bin:$PATH #环境变量生效 source /etc/profile4配置文件的创建和修改1、配置文件创建# 进入配置文件目录 cd /home/softwares/zookeeper/conf cp zoo_sample.cfg zoo.cfg2、配置文件# 创建zk数据目录 mkdir /home/softwares/zookeeper/zkData #修改zk的配置文件 vi /home/softwares/zookeeper/conf/zoo.cfg tickTime2000 # 定义的时间单元(单位毫秒)下面的两个值都是tickTime的倍数。 initLimit10 #follower连接并同步leader的初始化连接时间。 syncLimit5 #心跳机制的时间(正常情况下的请求和应答的时间) dataDir/home/softwares/zookeeper/zkData #修改zookeeper数据的存储路径 clientPort2181 #客户端连接服务器的port3、进入数据目录创建myidcd /home/softwares/zookeeper/zkData echo 1 myid(4)启动ZK和查看ZK状态#启动 zkServer.sh start #查看状态 zkServer.sh status # 停止zk zkServer.sh stop至此zk的单节点已经部署完成接下来部署zk的集群模式三、ZK集群的部署1、修改配置文件1修改master的配置文件然后下发给slave1 、slave2 主要是新增server其他不变完整配置文件tickTime2000 # 定义的时间单元(单位毫秒)下面的两个值都是tickTime的倍数。 initLimit10 #follower连接并同步leader的初始化连接时间。 syncLimit5 #心跳机制的时间(正常情况下的请求和应答的时间) dataDir/home/softwares/zookeeper/zkData #修改zookeeper的存储路径zkData目录一会要创建出来 clientPort2181 #客户端连接服务器的port # 新加这一块 server.1master:2888:3888 # 添加三个服务器节点 server.2slave1:2888:3888 server.3slave2:2888:3888操作参考vim /home/softwares/zookeeper/conf/zoo.cfg # 下面添加 server.1master:2888:3888 # 添加三个服务器节点 server.2slave1:2888:3888 server.3slave2:2888:3888 # 配置文件分发给另外两个服务器 scp zoo.cfg rootslave1:$PWD scp zoo.cfg rootslave2:$PWD2、修改myid用于标识和选举 主从节点的修改slave1 、slave2的myid# slave1 cd /home/softwares/zookeeper/zkData echo 2 myid # slave2 cd /home/softwares/zookeeper/zkData echo 3 myidmyid的作用解释1. 服务器1启动 此时只有它一台服务器启动了它发出去的投票信息没有任何响应所以它的选举状态一直是 LOOKING 状态。 2. 服务器2启动 它与最开始启动的服务器 1 进行通信互相交换自己的选举结果由于两者都没有历史数据所以 id 值较大 的服务器 2 胜出但是由于没有达到超过半数以上的服务器都同意选举它(这个例子中的半数以上是 3)所以 服务器 1、 2 还是继续保持LOOKING 状态。 3. 服务器3启动 根据前面的理论分析服务器 3 成为服务器 1、 2、 3 中的老大而与上面不同的是此时有三台服务器选 举了它所以它成为了这次选举的 leader。 4. 服务器4启动 根据前面的分析理论上服务器 4 应该是服务器 1、 2、 3、 4 中最大的但是由于前面已经有半数以上的 服务器选举了服务器 3所以它只能接收当小弟的命 了。 5. 服务器5启动 同 4 一样当小弟3、重启zk并查看zk集群#停止之前启动的zk zkServer.sh stop # 启动zk zkServer.sh start 查看zk状态 zkServer.sh status4、查看zk的进程# 管道命令 ps -ef | grep zookeeper # java进程 jps管道java进程四、zk客户端及其简单命令1、启动zk客户端# 本地客户端 zkCli.sh # 启动zk客户端 任意一个节点都可以 zkCli.sh -server 192.168.10.11:2181,192.168.10.12:2181,192.168.10.13:21812简单的常用命令[如果需要深入学习评论区留言]1. ls -- 查看某个目录包含的所有文件 2. ls2 -- 查看某个目录包含的所有文件与ls不同的是它查看到time、version等信息 3. create -- 创建znode并设置初始内容例如 [zk: 47.0.0.1:2181(CONNECTED) 1] create /test test Created /test 4. get -- 获取znode的数据 5. set -- 修改znode内容 6. delete -- 删除znode 7. quit -- 退出客户端 8. help -- 帮助命令3测试数据的写入和读取在master节点写入数据 在slave1 slave2 读取写入的数据# 主节点写入数据 create /test test # slave1 读取数据 get /test # slave2 读取数据 get /test测试截图至此ZK集群的搭建和测试都已经结束各位宝子们搞定了吗恭喜各位又学会一个新的组件的搭建。如果对各位又帮助请收藏关注点赞吧