设置启动zk的用户为zookeeper
设置启动zk的用户为zookeeper用户,而非root用户,这样比较安全。
可以使用root用户进行zookeeper的管理(启动、停止…),但对于追求卓越和安全的的人来说,采用新非root用户管理zookeeper更好。
步骤:
1. 创建用户和用户组
2. 相关目录设置用户和用户组属性
3. 采用zookeeper用户启动进程
设置zookeeper开机自启动
两种方式可以实现开机自启动
第一种:直接修改/etc/rc.d/rc.local文件
在/etc/rc.d/rc.local文件中需要输入两行,其中export JAVA_HOME=/usr/java/default是必须要有的,否则开机启动不成功,default指向最新的jdk。
另一行则是我们zookeeper的启动命令。配置好之后,重启虚拟机,会发现已经可以开机自启了。
export JAVA_HOME=/usr/java/default
su - zookeeper -c '/u01/SION/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start'
第二种:把zookeeper做成服务
- 进入到/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
- 给脚本添加执行权限
[root@zookeeper init.d]# chmod +x zookeeper
3、使用命令vim zookeeper进行编辑,在脚本中输入如下内容,其中同上面注意事项一样要添加export JAVA_HOME=/usr/java/default这一行,否则无法正常启动。
可粘贴文本:
[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服务了。
来源: http://blog.csdn.net/u012453843/article/details/70162796