搭建Zookeeper.3.5.7 集群
1. 集群规划
服务名称 | 子服务 | 服务器node1 | 服务器node2 | 服务器node3 |
---|---|---|---|---|
Zookeeper | Zookeeper Server | √ | √ | √ |
2. 安装
2.1 下载 zookeeper
下载地址:https://zookeeper.apache.org/
2.2 解压安装
(1) 解压Zookeeper安装包到/opt/module/目录下
[bigdata@node1 software]$ tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module
@H_502_77@(2) 同步/opt/module/zookeeper-3.5.7 目录到node2、node3上
[bigdata@node1 module]$ xsync zookeeper-3.5.7/
@H_502_77@(3) 配置服务器编号
[bigdata@node1 zookeeper-3.5.7]$ mkdir -p zkData [bigdata@node1 zkData]$ echo "1" > myid #拷贝到其他的机器,并分别在node2,node3 上修改myid 文件中内容为2、3 [bigdata@node1 zkData]$ xsync myid
@H_502_77@(4) 配置zoo.cfg 文件
[bigdata@node1 conf]$ mv zoo_sample.cfg zoo.cfg [bigdata@node1 conf]$ vim zoo.cfg
@H_502_77@修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
@H_502_77@增加如下的配置
#######################cluster########################## server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
@H_502_77@同步zoo.cfg 配置文件
[bigdata@node1 conf]$ xsync zoo.cfg
@H_502_77@2.3 启动
(1)分别启动zookeeper
[bigdata@node1 zookeeper-3.5.7]$ bin/zkServer.sh start [bigdata@node2 zookeeper-3.5.7]$ bin/zkServer.sh start [bigdata@node3 zookeeper-3.5.7]$ bin/zkServer.sh start
@H_502_77@(2) 查看状态
[bigdata@node1 zookeeper-3.5.7]# bin/zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: follower [bigdata@node2 zookeeper-3.5.7]# bin/zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: leader [bigdata@node3 zookeeper-3.5.7]# bin/zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg Mode: follower
@H_502_77@3. 客户端命令行
(1)首先需要启动客户端,,启动客户端的命令
[bigdata@node1 zookeeper-3.5.7]$ bin/zkCli.sh
@H_502_77@(2)下边是客户端命令行命令
命令基本语法 | 功能描述 | 示例 |
---|---|---|
help | 显示所有操作命令 | help |
ls path | 使用 ls 命令来查看当前znode的子节点 -w 监听子节点变化 -s 附加次级信息 | ls / |
create | 普通创建 -s 含有序列 -e 临时(重启或者超时消失) | create /hello "world" |
get path | 获得节点的值 -w 监听节点内容变化 -s 附加次级信息 | get /hello |
set | 设置节点的具体值 | set /hello "123" |
stat | 查看节点状态 | stat /hello |
delete | 删除节点 | delete /hello |
deleteall | 递归删除节点 | --- |
4. 脚本附录
- 集群数据拷贝脚本 xsync
#!/bin/bash #1.判断参数个数 if [ $# -lt 1 ] then echo "Not Enough arauement" exit; fi #2.遍历集群所有机器 hosts=(node1 node2 node3) for host in ${hosts[@]} do echo "======================$host===================" #3.遍历所有目录,挨个发送 for file in $@ do #4.判断文件是否存在 if [ -e $file ] then # 5.获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6.获取当前文件的名称 fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo "$file does not exists!" fi done done
@H_502_77@
- zookeeper 集群启停脚本
#!/bin/bash hosts=(node1 node2 node3) case $1 in "start"){ for host in ${hosts[@]} do echo ---------- zookeeper $i 启动 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start" done };; "stop"){ for host in ${hosts[@]} do echo ---------- zookeeper $i 停止 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop" done };; "status"){ for host in ${hosts[@]} do echo ---------- zookeeper $i 状态 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status" done };; esac
@H_502_77@版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。