【分布式协调zookeeper】部署篇
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、环境准备操作系统:centOS-6.8 2.6.32-642.el6.x86_64【虚拟机环境】节点主机:10.0.55.3、10.0.55.5、10.0.55.6目录结构: /opt/软件版本:
千家信息网最后更新 2026年11月02日【分布式协调zookeeper】部署篇创建、编辑、删除
一、环境准备
操作系统:centOS-6.8 2.6.32-642.el6.x86_64【虚拟机环境】节点主机:10.0.55.3、10.0.55.5、10.0.55.6目录结构: /opt/软件版本: jdk-7u67-linux-x64.rpm zookeeper-3.5.0-alpha.tar.gz
二、安装Java环境
$ rpm -ivh jdk-7u67-linux-x64.rpm $ cat /etc/profileexport JAVA_HOME=/usr/java/jdk1.7.0_67export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin立即生效$ source /etc/profile
三、下载zookeeper包并创建zookeeper管理数据
$ wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.0-alpha/zookeeper-3.5.0-alpha.tar.gz$ ln -s /opt/zookeeper-3.5.0-alpha /opt/zookeeper$ mkdir /opt/zookeeper/data$ echo "1" > /opt/zookeeper/data/myid
四、编辑zookeeper/conf/zoo.cfg配置文件,启动时需要
$ cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg--- 查看zoo.cfg内容 ---tickTime=2000initLimit=10syncLimit=5dataDir=/opt/zookeeper/dataclientPort=2181server.1=10.0.55.3:2888:3888server.2=10.0.55.5:2888:3888server.3=10.0.55.6:2888:3888
五、启动zookeeper服务并查看
--- 启动服务 ---$ /opt/zookeeper/bin/zkServer.sh startJMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgStarting zookeeper ... STARTED--- 检查端口 ---netstat -lnptActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22678 0.0.0.0:* LISTEN 1074/sshd tcp 0 0 :::2181 :::* LISTEN 121685/java tcp 0 0 :::55369 :::* LISTEN 121685/java tcp 0 0 ::ffff:10.0.55.3:3888 :::* LISTEN 121685/java tcp 0 0 :::8080 :::* LISTEN 121685/java tcp 0 0 :::22678 :::* LISTEN 1074/sshd
使用自动化运维工具 ansible 进行批量分发
这里只介绍如何使用ansible的命令组件模块进行节点部署
为了节省篇幅,这里不介绍ansible的部署安装
1、远程安装zookeeper节点
$ ansible webservers -m copy -a 'src=zookeeper-3.5.0-alpha.tar.gz dest=/opt/ owner=root group=root mode=0644'$ ansible webservers -m shell -a 'tar fxz /opt/zookeeper-3.5.0-alpha.tar.gz -C /opt/'$ ansible webservers -m shell -a 'ln -s /opt/zookeeper-3.5.0-alpha /opt/zookeeper'$ ansible webservers -m shell -a 'mkdir /opt/zookeeper/data'$ ansible webservers -m shell -a 'echo "2" >/opt/zookeeper/data/myid'
2、将配置文件copy到远端节点
$ ansible webservers -m copy -a 'src=/opt/zookeeper/conf/zoo.cfg dest=/opt/zookeeper/conf/zoo.cfg owner=root group=root mode=0644'
3、批量启动zookeeper服务并查看
$ ansible webservers -m shell -a '/opt/zookeeper/bin/zkServer.sh stats'$ ansible webservers -m shell -a 'netstat -lnpt'
4、批量坚持zookeeper状态
$ ansible webservers -m shell -a '/opt/zookeeper/bin/zkServer.sh status'10.0.55.5 | SUCCESS | rc=0 >>Client port found: 2181Mode: leaderJMX enabled by default ## 这里面的mode信息中,该主机被选举为 LeaderUsing config: /opt/zookeeper/bin/../conf/zoo.cfg10.0.55.3 | SUCCESS | rc=0 >>Client port found: 2181Mode: followerJMX enabled by default ## 这里面的mode信息中,该主机被选举为 followerUsing config: /opt/zookeeper/bin/../conf/zoo.cfg10.0.55.6 | SUCCESS | rc=0 >>Client port found: 2181Mode: followerJMX enabled by default ## 这里面的mode信息中,该主机被选举为 followerUsing config: /opt/zookeeper/bin/../conf/zoo.cfg
zookeeper基础操作
启动一个CLI客户端
[root@lbl opt]# ./zookeeper/bin/zkCli.sh
创建、编辑、删除znode
--- 创建一个/workers路径的znode ---[zk: localhost:2181(CONNECTED) 0] create /workers helloworldCreated /workers--- 使用get -s命令查看znode数据 ---[zk: localhost:2181(CONNECTED) 1] get -s /workershelloworldcZxid = 0x500000006ctime = Sat Apr 22 10:33:42 CST 2017mZxid = 0x500000006mtime = Sat Apr 22 10:33:42 CST 2017pZxid = 0x500000006cversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x0dataLength = 6numChildren = 0--- 使用get -w选项,进行监听/factory的变化 ---[zk: localhost:2181(CONNECTED) 11] get -w /workersstrong--- 在 follower节点上启动客户端,并修改/workers ---[root@lbl bin]# ./zkCli.sh [zk: localhost:2181(CONNECTED) 2] set /workers weakness---查看监听那台主机,返回的通知信息如下: ---[zk: localhost:2181(CONNECTED) 12] WATCHER::WatchedEvent state:SyncConnected type:NodeDataChanged path:/workers--- 删除workers的znode ---[zk: localhost:2181(CONNECTED) 7] delete /workers
创建序列znode
[zk: localhost:2181(CONNECTED) 13] create -s /workers/worker-Created /workers/worker-0000000000[zk: localhost:2181(CONNECTED) 14] create -s /workers/worker-Created /workers/worker-0000000001[zk: localhost:2181(CONNECTED) 15] create -s /workers/worker-Created /workers/worker-0000000002[zk: localhost:2181(CONNECTED) 16] create -s /workers/worker-Created /workers/worker-0000000003
通过stat命令,进行查看workers状态
[zk: localhost:2181(CONNECTED) 18] stat /workerscZxid = 0x500000006ctime = Sat Apr 22 10:33:42 CST 2017mZxid = 0x500000008mtime = Sat Apr 22 10:35:25 CST 2017pZxid = 0x50000000ccversion = 4dataVersion = 1aclVersion = 0ephemeralOwner = 0x0dataLength = 8numChildren = 4
通过浏览器查看zookeeper状态
--- 从zookeeper-3.5.0版本以上,可以使用http接口提交4字命令的请求;--- 在zookeeper服务中嵌入了Jetty server作为AdminServer管理服务器,其默认端口为8080;--- 服务访问的URL格式是"/commands/[command name]",例如:访问stats命令--- 服务器返回的结果是以JSON格式显示http://10.0.55.3:8080/commandshttp://10.0.55.3:8080/commands/stats
【分布式协调系统zookeeper】基础篇
服务
主机
命令
节点
信息
状态
环境
面的
选举
基础
客户
客户端
数据
文件
服务器
格式
版本
端口
系统
监听
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网龙头
互联网科技行业发展
工业互联网科技新基建
华宇互联网科技
期待互联网科技
互联网科技媒体
互联网科技缩写
丰台科技园 互联网公司
互联网科技公司需要的职位
彤创互联网科技有限公司
浙江互联网科技研学营
青岛科技大学互联网大赛研究生
互联网科技研发水平
工业互联网等科技实现智能化赋能
伊宁互联网科技做什么的
信承诺互联网科技有限公司
唯美互联网科技
10位科技互联网大佬
互联网科技创业计划的风险分析
互联网大会出现的黑科技
广州淘业互联网络科技
科技互联网公司装修
科技互联网技术
高科技与互联网
为想互联网科技
互联网科技小额贷款
互联网和高科技公司
互联网科技博主是什么意思
工业互联网等科技实现智能化赋能
滨湖区互联网智能科技产品有哪些