ZooKeeper实战二基本命令和开机自启动设置

官网   下载

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做成服务

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(开启)的状态。

posted on 2018-01-09 11:16  让代码飞  阅读(374)  评论(0)    收藏  举报

导航

一款免费在线思维导图工具推荐:https://www.processon.com/i/593e9a29e4b0898669edaf7f?full_name=python