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