官网   下载

zookeeper信息查看工具

zookeeper信息查看工具2

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

 

 

 

 

异常案例1

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设置skipacl zookeeper设置开机自启动_多用户

 

 第二种:把zookeeper做成服务

1、进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本

zookeeper设置skipacl zookeeper设置开机自启动_优先级_02

 

2、给脚本添加执行权限

zookeeper设置skipacl zookeeper设置开机自启动_zookeeper设置skipacl_03

 

3、使用命令vim zookeeper进行编辑,在脚本中输入如下内容,其中同上面注意事项一样要添加export JAVA_HOME=//usr/java/jdk1.8.0_112这一行,否则无法正常启动。

zookeeper设置skipacl zookeeper设置开机自启动_zookeeper_04

#!/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状态。

先来看启动及状态

zookeeper设置skipacl zookeeper设置开机自启动_zookeeper设置skipacl_05

 

接着看关闭及状态

zookeeper设置skipacl zookeeper设置开机自启动_优先级_06

 

5、添加到开机自启

zookeeper设置skipacl zookeeper设置开机自启动_多用户_07

 

添加完之后,我们使用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(开启)的状态。