Zookeeper3.6集群搭建

服务器列表

hostnameip
master192.168.100.230
worker1192.168.100.231
worker2192.168.100.232

上传Zookeeper并传到每个节点上

上传zk安装包到master节点上,然后传到每个节点上

 scp -r apache-zookeeper-3.6.3-bin.tar.gz root@worker1:/root
 scp -r apache-zookeeper-3.6.3-bin.tar.gz root@worker2:/root

解压安装Zookeeper

 #创建存放目录(每个节点使用)

mkdir -p /data/zookeeper

#解压文件(每个节点使用)

tar -xf apache-zookeeper-3.6.3-bin.tar.gz -C /data/zookeeper

#修改名称(每个节点使用)存放目录路径根据业务而定,我习惯将zookeeper放在data下。

cd /data/zookeeper

mv apache-zookeeper-3.6.3-bin apache-zookeeper-3.6.3

#进入到zookeeper目录中

cd apache-zookeeper-3.6.3

#创建数据存放目录
mkdir data

集群搭建

cd conf
mv zoo_sample.cfg  zoo.cfg

vim zoo.cfg,内容如下

#开放端口
clientPort=2181
#Jetty服务器侦听的端口3.5中新功能
admin.serverPort=8092
#数据存放路径
dataDir=/data/zookeeper/apache-zookeeper-3.6.3/data
#集群设置
server.0=master:2182:2183
server.1=worker1:2182:2183
server.2=worker2:2182:2183

在数据存放路径中添加myid文件,要求各个ID不能重复

cd /data/zookeeper/apache-zookeeper-3.6.3/data
#master
[root@master data]# vim myid
0

#worker1
[root@worker1 data]# vim myid
1

#worker2
[root@worker2 data]# vim myid
2

添加zookeeper用户和用户组

#添加组

groupadd zookeeper

#添加用户

useradd -g zookeeper zookeeper

#给zookeeper赋予权限

chown -R zookeeper.zookeeper /data/zookeeper

#从防火墙中允许服务监听端口2181,2182,2183访问

firewall-cmd --add-port=2181/tcp --permanent 
firewall-cmd --add-port=2182/tcp --permanent 
firewall-cmd --add-port=2183/tcp --permanent 

添加开机自启动,以及将zookeeper做成服务。

[Unit]
Description=Zookeeper
After=network.target
[Service] 
Type=forking
#启动的用户
User=zookeeper
#启动的用户组
Group=zookeeper
Environment=JAVA_HOME=/usr/local/jdk1.8.0_281
Environment=/data/zookeeper/apache-zookeeper-3.6.3
ExecStart=/data/zookeeper/apache-zookeeper-3.6.3/bin/zkServer.sh start
ExecStop=/data/zookeeper/apache-zookeeper-3.6.3/bin/zkServer.sh stop 
ExecReload=/data/zookeeper/apache-zookeeper-3.6.3/bin/zkServer.sh restart
[Install]
WantedBy=multi-user.target

添加可执行权限

chmod +x /usr/lib/systemd/system/zookeeper.service

chown -R zookeeper.zookeeper /usr/lib/systemd/system/zookeeper.service

重新加载systemctl服务配置文件

systemctl daemon-reload

zookeeper启动等命令

#启动
systemctl start zookeeper.service

#关闭
systemctl stop zookeeper.service

#重启
systemctl restart zookeeper.service

#开机自启动
systemctl enable zookeeper.service

查看是否启动

jps

[root@worker1 bin]# jps
10403 QuorumPeerMain
9428 TaskManagerRunner
10454 Jps

QuorumPeerMain就是zookeeper得服务名称,集群已经启动完成。

查看集群状态

curl -sL master:8092/commands/stat | grep server_state

[root@master bin]# curl -sL master:8092/commands/stat | grep server_state
    "server_state" : "follower",
[root@master bin]# curl -sL worker1:8092/commands/stat | grep server_state
    "server_state" : "leader",
[root@master bin]# curl -sL worker2:8092/commands/stat | grep server_state
    "server_state" : "follower",

这里简单列几个可以测试下,详情可以参考官方文档信息。

/commands/stat    #查看节点状态。
/commands/voting_view  #可以参与投票的节点。
/commands/leader  #查看leader是哪个节点。
/commands/environment  #查看节点环境变量的信息。
/commands/system_properties  #所有集群的属性
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇