CentOS下service zookeeper does not support chkconfig的解决办法

joshwan 2015-07-07

最初的zookeeper执行脚本:

#!/bin/bash

ZOOKEEPER_PATH=/usr/appdata/zookeeper-3.4.6/bin/

case"$1"in

start)

echo"startzookeeperservice..."

sh${ZOOKEEPER_PATH}/zkServerstart

;;

stop)

echo"stopzookeeperservice..."

sh${ZOOKEEPER_PATH}/zkServerstop

;;

restart)

echo"restartzookeeperservice..."

sh${ZOOKEEPER_PATH}/zkServerrestart

;;

status)

echo"zookeeperstatus"

sh${ZOOKEEPER_PATH}/zkServerstatus

;;

*)

echo"requirestart|stop|status|restart"

exit1

;;

esac

为了方便管理,我们常常喜欢在Linux中将之安装为服务,然后就可以使用服务来管理。

但是当我们运行安装服务的命令时候

#chkconfig--addzookeeper

常常会出现:

servicezookeeperdoesnotsupportchkconfig

问题解决办法如下:

必须把下面两行注释放在/etc/init.d/zookeeper文件中

#vi/etc/init.d/zookeeper

添加下面两句到#!/bin/bash之后:

#chkconfig:23451090

#description:zookeeper

其中2345是默认启动级别,级别有0-6共7个级别。

等级0表示:表示关机  

等级1表示:单用户模式  

等级2表示:无网络连接的多用户命令行模式  

等级3表示:有网络连接的多用户命令行模式  

等级4表示:不可用  

等级5表示:带图形界面的多用户模式  

等级6表示:重新启动

10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。

上面的注释的意思是,zookeeper服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是10,关闭的优先级是90

修改后的zookeeper执行脚本:

#!/bin/bash

#chkconfig:23451090

#description:zookeeper

ZOOKEEPER_PATH=/usr/appdata/zookeeper-3.4.6/bin/

case"$1"in

start)

echo"startzookeeperservice..."

sh${ZOOKEEPER_PATH}/zkServerstart

;;

stop)

echo"stopzookeeperservice..."

sh${ZOOKEEPER_PATH}/zkServerstop

;;

restart)

echo"restartzookeeperservice..."

sh${ZOOKEEPER_PATH}/zkServerrestart

;;

status)

echo"zookeeperstatus"

sh${ZOOKEEPER_PATH}/zkServerstatus

;;

*)

echo"requirestart|stop|status|restart"

exit1

;;

esac

安装服务:

#chkconfig--addzookeeper

#chkconfigzookeeperon

启动服务:

servicezookeeperstart|stop|restart|status

附录:

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,进到XWindow系统了。

6为重启,运行init6机器就会重启。

chkconfig用法

chkconfig命令可以用来检查、设置系统的各种服务

使用语法:

chkconfig[--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]

参数用法:

–add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

–del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。

–level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。

使用范例:

chkconfig–list列出所有的系统服务

chkconfig–addredis增加redis服务

chkconfig–delredis删除redis服务

chkconfig–levelredis2345on把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态。

相关推荐