设置zookeeper开机自启动/服务化

时间:2021-10-01 05:43:14

设置启动zk的用户为zookeeper

设置启动zk的用户为zookeeper用户,而非root用户,这样比较安全。
可以使用root用户进行zookeeper的管理(启动、停止…),但对于追求卓越和安全的的人来说,采用新非root用户管理zookeeper更好。
步骤:
1. 创建用户和用户组
2. 相关目录设置用户和用户组属性
3. 采用zookeeper用户启动进程
设置zookeeper开机自启动/服务化

设置zookeeper开机自启动

两种方式可以实现开机自启动

第一种:直接修改/etc/rc.d/rc.local文件

在/etc/rc.d/rc.local文件中需要输入两行,其中export JAVA_HOME=/usr/java/default是必须要有的,否则开机启动不成功,default指向最新的jdk。
另一行则是我们zookeeper的启动命令。配置好之后,重启虚拟机,会发现已经可以开机自启了。
设置zookeeper开机自启动/服务化

export JAVA_HOME=/usr/java/default
su - zookeeper -c '/u01/SION/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start'

第二种:把zookeeper做成服务

  1. 进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本
[root@zookeeper ~]# cd /etc/rc.d/init.d/ 
[root@zookeeper init.d]# pwd
/etc/rc.d/init.d
[root@zookeeper init.d]# touch zookeeper
  1. 给脚本添加执行权限
[root@zookeeper init.d]# chmod +x zookeeper 

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

可粘贴文本:

[root@zookeeper init.d]# vim zookeeper 

#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/java/default
case $1 in
start) su - zookeeper -c '/usr/local/zookeeper-3.4.5/bin/zkServer.sh start';;
stop) su - zookeeper -c '/usr/local/zookeeper-3.4.5/bin/zkServer.sh stop';;
status) su - zookeeper -c '/usr/local/zookeeper-3.4.5/bin/zkServer.sh status';;
restart) su - zookeeper -c '/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 --add zookeeper
添加完之后,我们使用chkconfig --list来查看开机自启的服务中是否已经有我们的zookeeper了,如下所示,可以看到在最后一行便是我们的zookeeper服务了。
设置zookeeper开机自启动/服务化

来源: http://blog.csdn.net/u012453843/article/details/70162796