jps命令無效
#啟動zookeeper
$ sudo ./zkServer.sh start
[sudo] jjboom 的密碼:
ZooKeeper JMX enabled by default
Using config: /home/jjboom/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#啥都沒有
$ jps
2972 Jps
#查看jps錯誤信息,還是沒有(如果報錯的話可能是/tmp/hsperfdata_${user_name}目錄權限問題,chmod 755)
$ jps -J-Djps.debug=true -J-Djps.printStackTrace=true
2989 Jps
jps、jstack等都是通過
/tmp/hsperfdata_${user_name}
來確定正在運行的java進程pid等信息. 如果啟動java進程時使用-Djava.io.tmpdir
后, jps等可能會由於找不到對應的數據而有問題
#嘗試用root用戶啟動zookeeper
$ sudo -s
$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/jjboom/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
$ jsp
3175 Jps
3150 QuorumPeerMain
#ok,因為當前用戶沒有對目錄/tmp/hsperfdata_${user_name}的寫入權限,而啟動zookeeper是用的root用戶啟的
#或者把zookeeper所在的目錄給與當前用戶權限也可以