linux下zookeeper安装

1、下载

地址:http://zookeeper.apache.org/releases.html

可以在线下载安装,也可以手动下载到本地,在上传到linux的文件夹

2、解压

[root@localhost ]# tar -zxvf /home/lk/zookeeper-3.3.6.tar.gz   

解压完之后,会得到一个zookeeper-3.4.11的文件夹

3、进入到conf目录

root@localhost ]# cd /opt/zookeeper-3.4.11/conf  

4、拷贝zoo_samle.cfg为zoo.cfg

[root@localhost conf]# cp zoo_sample.cfg zoo.cfg  

至此安装完成,可以启动了,但在启动过程中发现启动失败

linux下zookeeper安装_第1张图片

从此开始了一路排查纠错,大致排错步骤如下:

1)没有建立主机和ip之间的映射关系。

  建立主机和ip之间映射关系的命令为 vim /etc/hosts   在文件的末端加入各个主机和ip地址之间的映射关系就可以了。只有在建立了映射关系之后,才可以将在同一个网段下的机器利用主机名进行文件传递

或者是建立的映射关系错误,注释掉 127.0.0.1 的配置,就可以恢复正常

2)如果不行,执行zkServer.sh start 后显示:

JMX enabled by default

Using config:/home/hadoop/app/zookeeper-3.4.5/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

3)jps后发现没有QuorumPeerMain进程

4)查看zookeeper-3.4.5/data下的zookeeper-3.4.5.out,如果提示 binding to port 0.0.0.0/0.0.0.0:2181

ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally java.net.BindException: Address already in use

说明2181端口被占用,通过netstat -nltp | grep 2181检查是否已被占用,如果有则把对应的进程kill掉(kill 进程的pid),然后再启动zookeeper

5)jps后发现有QuorumPeerMain进程,然后执行zkServer.sh status,如果显示:

JMX enabled by default

Using config: /home/hadoop/app/zookeeper-3.4.5/bin/../conf/zoo.cfg

Error contacting service. It is probably not running.

说明未启动成功,通过查看bin/zookeeper-3.4.5.out,如果提示

Cannot open channel to 1 at election address hadoop05/10.37.129.105:3888

java.net.NoRouteToHostException: No route to host,说明无法连接远程电脑10.37.129.105:3888,很有可能开启了防火墙

通过sudo service iptables status检查,如果确实开启,则通过sudo service iptables stop将其关闭,最后再查看状态zkServer.sh status

6) 此时如果还是报错,有2种方法

其一:在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,添加server.1=localhost:2888:3888

其二:在zoo.cfg文件末尾添加server.1=localhost:2888:3888

此时,基本都能够正常启动了,提示:

JMX enabled by default

Using config: /home/hadoop/app/zookeeper-3.4.5/bin/../conf/zoo.cfg

Mode: leader(或follower)

你可能感兴趣的:(linux下zookeeper安装)