阿里云ESC centos7下安装zookeeper启动失败

1、进入/usr/local/services/zookeeper/zookeeper-3.5.3/logs

2、查看日志[root@iZuf6c68ideedt77tt3t6qZ logs]# ls
version-2  zookeeper-root-server-iZuf6c68ideedt77tt3t6qZ.out
[root@iZuf6c68ideedt77tt3t6qZ logs]# tail -200f zookeeper-root-server-iZuf6c68ideedt77tt3t6qZ.out

发现端口被占用,奇怪默认端口不是2181吗?

3、查看端口对应的pid [root@iZuf6c68ideedt77tt3t6qZ logs]# netstat -apn | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      24386/java          
[root@iZuf6c68ideedt77tt3t6qZ logs]# kill -9 24386

4、 再次启动正常[root@iZuf6c68ideedt77tt3t6qZ bin]# zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /usr/local/services/zookeeper/zookeeper-3.5.3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

5、占用原因:

zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动,也会占用8080 端口。
通过查看zookeeper的官方文档,发现有3种解决途径:

(1).删除jetty。
(2)修改端口。
修改方法的方法有两种,一种是在启动脚本中增加 -Dzookeeper.admin.serverPort=你的端口号.一种是在zoo.cfg中增加admin.serverPort=没有被占用的端口号
(3)停用这个服务,在启动脚本中增加"-Dzookeeper.admin.enableServer=false"

顺带普及:

1)说明:

Linux的所有进程都保存在/proc/目录下,保存形式为:/proc/进程号。进入到进程号目录后,里面有一个cwd链接文件即指向的进程的的目录。

2) 操作:

A:确定进程号。如:26692;

B:查找进程执行的文件。ps aux | grep 26692;

C:确定进程所在的目录。ll /proc/26692;

阿里云ESC centos7下安装zookeeper启动失败_第1张图片

 

你可能感兴趣的:(阿里云ESC centos7下安装zookeeper启动失败)