zookeeper的类型
- 临时znode类型
当客户端会话断开连接,若在规定时间(默认是30s)内没有重新连接则该客户端创建的所有znode都会被删除。
- 永久znode
当客户端会话断开连接,znode不会被删除。
默认创建的znode都是永久的,如果想要创建临时znode,则需要指定"-e"参数。
验证测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| [zk: localhost:2181(CONNECTED) 0] ls / [luay, zookeeper]
[zk: localhost:2181(CONNECTED) 1] stat /luay cZxid = 0x400000002 ctime = Mon Oct 28 13:09:07 UTC 2024 mZxid = 0x40000000e mtime = Mon Oct 28 13:11:34 UTC 2024 pZxid = 0x40000000b cversion = 5 dataVersion = 3 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 4 numChildren = 1
[zk: localhost:2181(CONNECTED) 2] create -e /abc Created /abc
[zk: localhost:2181(CONNECTED) 6] stat /abc cZxid = 0xf00000002 ctime = Mon Oct 28 14:23:04 UTC 2024 mZxid = 0xf00000002 mtime = Mon Oct 28 14:23:04 UTC 2024 pZxid = 0xf00000002 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0xd500028c8caa0000 dataLength = 0 numChildren = 0
`注意:ephemeralOwner这一行,不是和上面永久znode状态一样,上面永久的是0x0`
[zk: localhost:2181(CONNECTED) 0] ls / [luay, zookeeper]
'重新建立链接,默认30s后数据就自动删除!'
|
zookeeper的JVM调优
1 2 3 4 5
| 1.zookeeper的堆内存调优思路(这里调试128m测试) 生成环境中,建议配置2GB-4GB即可。默认是1GB。
2.查看默认的堆内存大小 [root@elk03:1 ~]# ps -ef | grep zookeeper | grep -i xmx
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 3.修改官方的环境变量脚本 [root@elk03:1 ~]# cat /app/zookeeper/bin/zkEnv.sh ···
ZK_SERVER_HEAP="${ZK_SERVER_HEAP:-128}"
ZK_CLIENT_HEAP="${ZK_CLIENT_HEAP:-128}"
4. 同步到其它节点 [root@elk03 ~]# scp /app/zookeeper/bin/zkEnv.sh 10.0.0.211:/app/zookeeper/bin/ [root@elk03 ~]# scp /app/zookeeper/bin/zkEnv.sh 10.0.0.212:/app/zookeeper/bin/
5.重启zookeeper集群(所有节点) [root@elk03:1 ~]# zkServer.sh restart
6.再次查看占用内存大小 [root@elk03 ~]# ps -ef | grep zookeeper | grep -i xmx
|
zookeeper的图形化管理
了解
1 2
| https://github.com/zhitom/zkweb/releases/download/zkWeb-v1.2.1/zkWeb-v1.2.1.jar
|
1 2 3 4 5 6 7 8 9 10 11
| 1.解压jdk [root@elk01 ~]#tar xf jdk-8u291-linux-x64.tar.gz -C /app/
2.前台启动zkweb [root@elk01 ~]# /app/jdk1.8.0_291/bin/java -jar /app/zkWeb-v1.2.1.jar
后台启动: [root@elk01 ~]# nohup /app/jdk1.8.0_291/bin/java -jar /app/zkWeb-v1.2.1.jar &> /tmp/zkweb.log
3.浏览器访问 10.0.0.211:8099/
|
注:多个节点直接以 , 分开 10.0.0.211:2181,10.0.0.212:2181,10.0.0.213:2181