zookeeper搭建及错误调试

一、下载文件 Wget下载到当前目录
     Wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

二、解压文件 tar -xvzf 解压到当前目录
   tar -xvzf zookeeper-3.4.5.tar.gz

三、配置JAVA_HOME
     在/etc/profile 里配置:JAVA_HOME

----------------------------------------------------------------------------------

四、修改配置文件
    修改$ZOOKEEPER/conf/zoo_sample.cfg 为$ZOOKEEPER/conf/zoo.cfg
    修改内容:
     clientPort=2181 
     initLimit=10 
     syncLimit=5 
     tickTime=2000 

     dataDir=/opt/zookeeper-3.4.5/data
     server.1=master:2888:3888 //master可以是IP地址
     server.2=slave1:2888:3888 
     其中server.myid代表组成整个服务的机器,当服务启动时,会在数据目录dataDir下查找这个文件myid。

五、配置dataDir文件路径下的myid
     mkdir data
     touch myid   myid内容与server.1对应
     vi myid 内容当前机器服务id,例如:1

    修改完成后,上传配置好的zookeeper全部文件致各子节点。
    上传命令:scp –r ./zookeeper-3.8.8  192.168.1.202:/opt/


六、配置Hosts文件,mastaer\slave等主机名配置
     vi  /etc/hosts  增加内容
     192.168.1.201 master  //对应映射IP地址
     192.168.1.202 slave
   
七、启动/查看状态,状态如下,则启动成功
     ./zkServer.sh start     启动
         【ZooKeeper JMX enabled by default
          Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
          Starting zookeeper ... STARTED】
     ./zkServer.sh start-foreground 查看启动日志
     ./zkServer.sh status   查看状态
         【ZooKeeper JMX enabled by default
          Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
          Mode: follower】

八、错误调试

   1、查看【启动错误】 ./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】

   2、查看./zkServer.sh start-foreground 查看启动日志
       1)检查配置的myid,主机名
       2)检查防火墙是否关闭,一般报错:【java.net.ConnectException: 拒绝连接 (Connection refused) 】

   2、查看输出日志cat zookeeper.out查看输出日志

解决方法如下:
(1)从namenode主机ping其它slaves节点的主机名(注意是slaves节点的主机名),如果ping不通,原因可能是namenode节点的/etc/hosts 未配置主机名与IP地址的映射关系,补全主机名与IP地址的映射关系。

(2)从datanode主机ping master节点的主机名(注意也是节点的主机名),如果ping不通,原因可能是datenode节点的/etc/hosts 未配置主机名与IP地址的映射关系,补全主机名与IP地址的映射关系。

(3)查看各机器节点的防火墙是否关闭(或者设置防火墙开启,但对我们的指定端口开放,最好是关闭防火墙):
以下针对不同版本的Linux系统检查防火墙的状态,及关闭防火墙:
---------------------------------------------------------------
Ubuntu(ubuntu-12.04-desktop-amd64)
查看防火墙状态:ufw status
关闭防火墙:ufw disable
---------------------------------------------------------------
centos6.0
查看防火墙状态:service iptables status
关闭防火墙:chkconfig iptables off    #开机不启动防火墙服务
--------------------------------------------------------------
centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)
查看防火墙状态:firewall-cmd --state
停止防火墙:systemctl stop firewalld.service
禁止firewall开机启动:systemctl disable firewalld.service


















猜你喜欢

转载自javafu.iteye.com/blog/2364702