兩種方式可以實現開機自啟動
第一種:直接修改/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 #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local export JAVA_HOME=/usr/java/jdk1.8.0_112 /usr/local/zookeeper-3.4.5/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
2、給腳本添加執行權限
[root@zookeeper init.d]# chmod +x zookeeper
3、使用命令vim zookeeper進行編輯,在腳本中輸入如下內容,其中同上面注意事項一樣要添加export JAVA_HOME=//usr/java/jdk1.8.0_112這一行,否則無法正常啟動。
[root@zookeeper init.d]# vim zookeeper #!/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狀態。
先來看啟動及狀態
[root@zookeeper init.d]# service zookeeper start JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@zookeeper init.d]# service zookeeper status JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: standalone [root@zookeeper init.d]#
接着看關閉及狀態
[root@zookeeper init.d]# service zookeeper stop JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED [root@zookeeper init.d]# service zookeeper status JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Error contacting service. It is probably not running. [root@zookeeper init.d]#
5、添加到開機自啟
[root@zookeeper init.d]# chkconfig --add zookeeper
添加完之后,我們使用chkconfig --list來查看開機自啟的服務中是否已經有我們的zookeeper了,如下所示,可以看到在最后一行便是我們的zookeeper服務了。
[root@zookeeper init.d]# chkconfig --list auditd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 blk-availability 0:關閉 1:啟用 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 crond 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 ip6tables 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 iptables 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 iscsi 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉 iscsid 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉 lvm2-monitor 0:關閉 1:啟用 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 mdmonitor 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 multipathd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 netconsole 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 netfs 0:關閉 1:關閉 2:關閉 3:啟用 4:啟用 5:啟用 6:關閉 network 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 postfix 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 rdisc 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 restorecond 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 rsyslog 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 saslauthd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 sshd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 udev-post 0:關閉 1:啟用 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 zookeeper 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
開機自啟配置好了,我們重啟一下試試,如下所示。一切正常!!說明我們的開機自啟動成功了
[root@zookeeper ~]# /usr/local/zookeeper-3.4.5/bin/zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: standalone