【分布式协调zookeeper】部署篇
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,一、环境准备操作系统:centOS-6.8 2.6.32-642.el6.x86_64【虚拟机环境】节点主机:10.0.55.3、10.0.55.5、10.0.55.6目录结构: /opt/软件版本:
千家信息网最后更新 2024年12月13日【分布式协调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安全错误
数据库的锁怎样保障安全
美晓互联网科技公司怎么样
网络技术靠的是原题吗
怎么做一个2b2t服务器
摩尔庄园怎么刷服务器
有关新兴网络技术的总结
网络巨头数据库
go开发关系型数据库的书籍
达梦数据库怎么建库
网络安全越权的种类
sql语句合并2个数据库
个人博客网站数据库设计
网络安全生命至上
数据库跑腿接单设计
关墨辰 网络安全
网络安全法作品介绍信息表
上海趣医网络技术
嘉定区机电网络技术标准
网络安全保密协议书个人签订
网络安全评价词
部队有网络技术吗
数据库不同用户使用次数
方舟服务器管理器怎么开五通
虚拟打印服务器
网络安全提示的桌面背景
2021计算机网络技术
捕鱼来了服务器
互联网科技企业注册
白山网络安全行业
云计算与网络安全有关系吗
军队文职软件开发本科