1. 程式人生 > >Ubuntu 16.04.1 LTS zookeeper-3.4.11安裝啟動失敗Error contacting service. It is probably not running.

Ubuntu 16.04.1 LTS zookeeper-3.4.11安裝啟動失敗Error contacting service. It is probably not running.

騰訊雲伺服器Ubuntu 16.04.1 LTS zookeeper-3.4.11安裝啟動失敗

zookeeper安裝後啟動報許可權不足:

[email protected]:/opt/zookeeper-3.4.8/bin$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... ./zkServer.sh: line 149: /tmp/zookeeper/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID

我們用sudo 啟動:

[email protected]:/opt/zookeeper-3.4.8/bin$ sudo ./zkServer.sh start
[sudo] password for kevin: 
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

我們看到啟動並不報錯,但是zookeeper 並沒有啟動成功,我們看一下zookeeper服務狀態:

[email protected]:/opt/zookeeper-3.4.8/bin$ sudo ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

看了一下zookeeper的啟動日誌zookeeper.out (在bin目錄下):

nohup: failed to run command ‘java’: No such file or directory 

然後自己又在命行裡執行了一下java javac 沒有任何問題,但是當我執行sudo java ,sudo javac 的時候就提提示錯誤sudo: java: command not found

查了一些資料後得知:

sudo是預設是去找系統預設的jdk,而系統預設的jdk路徑是/usr/bin/下面

使用sudo update-alternatives --list java檢視下:

[email protected]:/opt/zookeeper-3.4.8/bin$ sudo update-alternatives --list java
update-alternatives: error: no alternatives for java

 這裡我們並沒有看到 java  的軟連結,可能大多數人linux下安裝jkd 的方式通常是下載一個jdk的安裝包,解壓到指定目錄下,然後配置一下環境變數在/etc/profile或者.bashrc (這裡不再贅餘jdk安裝)

執行如下:

[email protected]:/opt/zookeeper-3.4.8/bin$ 
[sudo] password for kevin: sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_77/bin/java 300
update-alternatives: using /opt/java/jdk1.8.0_77 to provide /usr/bin/java (java) in auto mode

再來看一下(已經有了):

[email protected]:/opt/zookeeper-3.4.8/bin$ update-alternatives --list java
/opt/java/jdk1.8.0_77

此時我們再來sudo 啟動一下zookeeper:

[email protected]:/opt/zookeeper-3.4.8/bin$ sudo ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

再檢查一下是否啟動:

[email protected]:/opt/zookeeper-3.4.8/bin$ sudo ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: standalone

再看一下程序:

[email protected]:/opt/zookeeper-3.4.8/bin$ netstat -an|grep 2181
tcp6       0      0 :::2181                 :::*                    LISTEN  

搞定!!

歡迎大家,收藏轉載!