版权声明:本文为博主原创文章,转载请加入源链接。 https://blog.csdn.net/kevin_mails/article/details/79523649
腾讯云服务器Ubuntu 16.04.1 LTS zookeeper-3.4.11安装启动失败
zookeeper安装后启动报权限不足:
kevin@ubuntu:/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 启动:
kevin@ubuntu:/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服务状态:
kevin@ubuntu:/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查看下:
kevin@ubuntu:/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安装)
执行如下:
kevin@ubuntu:/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
再来看一下(已经有了):
kevin@ubuntu:/opt/zookeeper-3.4.8/bin$ update-alternatives --list java
/opt/java/jdk1.8.0_77
此时我们再来sudo 启动一下zookeeper:
kevin@ubuntu:/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
再检查一下是否启动:
kevin@ubuntu:/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
再看一下进程:
kevin@ubuntu:/opt/zookeeper-3.4.8/bin$ netstat -an|grep 2181
tcp6 0 0 :::2181 :::* LISTEN
搞定!!
欢迎大家,收藏转载!