zookeeper信息查看工具
ZooKeeper学习
ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:分布式锁服务。由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:配置维护、组服务、分布式消息队列、分布式通知/协调等。
zookeeper信息查看工具
zookeeper客户端命令详解:
显示客户所支持的所有命令,如:
ZooKeeper -server host:port cmd args
connecthost:port
getpath [watch]
lspath [watch]
setpath data [version]
rmrpath
delquota[-n|-b] path
quit
printwatcheson|off
create[-s] [-e] path data acl
statpath [watch]
close
ls2path [watch]
history
listquotapath
setAclpath acl
getAclpath
syncpath
redocmdno
addauthscheme auth
deletepath [version]
setquota-n|-b val path
zookeeper 3.4.6集群在centos7下始终拒绝连接
将所有机器的/etc/hosts中的127.0.1.1这一行去掉,我去掉后可以了
设置zookeeper开机自启动
两种方式可以实现开机自启动
第一种:直接修改/etc/rc.d/rc.local文件
在/etc/rc.d/rc.local文件中需要输入两行,其中export JAVA_HOME=/usr/java/jdk1.8.0_112是必须要有的,否则开机启动不成功,大家根据自己JDK安装的位置自行更改。另一行/usr/local/zookeeper-3.4.5/bin/zkServer.sh start则是我们zookeeper的启动命令。配置好之后,重启虚拟机,会发现已经可以开机自启了。
[root@zookeeper ~]# vim /etc/rc.d/rc.local
第二种:把zookeeper做成服务
1、进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本
2、给脚本添加执行权限
3、使用命令vim zookeeper进行编辑,在脚本中输入如下内容,其中同上面注意事项一样要添加export JAVA_HOME=//usr/java/jdk1.8.0_112这一行,否则无法正常启动。
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=//usr/java/jdk1.8.0_112
case $1 in
start) su root /usr/local/zookeeper-3.4.5/bin/zkServer.sh start;;
stop) su root /usr/local/zookeeper-3.4.5/bin/zkServer.sh stop;;
status) su root /usr/local/zookeeper-3.4.5/bin/zkServer.sh status;;
restart) su /usr/local/zookeeper-3.4.5/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
4、使用service zookeeper start/stop命令来尝试启动关闭zookeeper,使用service zookeeper status查看zookeeper状态。
先来看启动及状态
接着看关闭及状态
5、添加到开机自启
添加完之后,我们使用chkconfig --list来查看开机自启的服务中是否已经有我们的zookeeper了,如下所示,可以看到在最后一行便是我们的zookeeper服务了。
开机自启配置好了,我们重启一下试试,如下所示。一切正常!!说明我们的开机自启动成功了。
================================================================
当我们运行安装服务的命令时候
#chkconfig --add zookeeper
常常会出现:
service zookeeper does not support chkconfig
问题解决办法如下:
必须把下面两行注释放在/etc/init.d/zookeeper文件中
#vi /etc/init.d/zookeeper
添加下面两句到 #!/bin/bash 之后:
# chkconfig: 2345 10 90
# description: zookeeper
其中2345是默认启动级别,级别有0-6共7个级别。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。
上面的注释的意思是,zookeeper服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是10,关闭的优先级是90
附录:
linux 运行级别
运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)
# 缺省的运行级,RHS用到的级别如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
对各个运行级的详细解释:
0 为停机,机器关闭。
1 为单用户模式,就像Win9x下的安全模式类似。
2 为多用户模式,但是没有NFS支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到X Window系统了。
6 为重启,运行init 6机器就会重启。
chkconfig用法
chkconfig命令可以用来检查、设置系统的各种服务
使用语法:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
参数用法:
–add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
–del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
–level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
使用范例:
chkconfig –list 列出所有的系统服务
chkconfig –add redis 增加redis服务
chkconfig –del redis 删除redis 服务
chkconfig –level redis 2345 on 把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态。