[size=large]一、下载文件 Wget下载到当前目录[/size]
Wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
[size=large]二、解压文件 tar -xvzf 解压到当前目录[/size]
tar -xvzf zookeeper-3.4.5.tar.gz
[size=large]三、配置JAVA_HOME[/size]
在/etc/profile 里配置:JAVA_HOME
----------------------------------------------------------------------------------
[size=large]四、修改配置文件[/size]
修改$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。
[size=large]五、配置dataDir文件路径下的myid[/size]
mkdir data
touch myid myid内容与server.1对应
vi myid 内容当前机器服务id,例如:1
修改完成后,上传配置好的zookeeper全部文件致各子节点。
上传命令:scp –r ./zookeeper-3.8.8 192.168.1.202:/opt/
[size=large]六、配置Hosts文件,mastaer\slave等主机名配置[/size]
vi /etc/hosts 增加内容
192.168.1.201 master //对应映射IP地址
192.168.1.202 slave
[size=large]七、启动/查看状态,状态如下,则启动成功[/size]
./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】
[size=large]
八、错误调试[/size]
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
Wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
[size=large]二、解压文件 tar -xvzf 解压到当前目录[/size]
tar -xvzf zookeeper-3.4.5.tar.gz
[size=large]三、配置JAVA_HOME[/size]
在/etc/profile 里配置:JAVA_HOME
----------------------------------------------------------------------------------
[size=large]四、修改配置文件[/size]
修改$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。
[size=large]五、配置dataDir文件路径下的myid[/size]
mkdir data
touch myid myid内容与server.1对应
vi myid 内容当前机器服务id,例如:1
修改完成后,上传配置好的zookeeper全部文件致各子节点。
上传命令:scp –r ./zookeeper-3.8.8 192.168.1.202:/opt/
[size=large]六、配置Hosts文件,mastaer\slave等主机名配置[/size]
vi /etc/hosts 增加内容
192.168.1.201 master //对应映射IP地址
192.168.1.202 slave
[size=large]七、启动/查看状态,状态如下,则启动成功[/size]
./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】
[size=large]
八、错误调试[/size]
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