zookeeper的安装、安装问题处理,伪分布式配置

  1. 下载
    wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
    执行时报错:
    原因:网站上已经没有了该版本
    解决:到http://mirror.bit.edu.cn/apache/zookeeper网站上下载相应的版本
  2. 解压:tar xvzf zookeeper-3.4.13.tar.gz
  3. 移动:mv ./ zookeeper-3.4.13.tar.gz /usr/local/
  4. 执行zkServer.sh start /usr/local/zookeeper-3.4.13/conf/zoo1.cfg
    报错:-bash: zkServer.sh: 未找到命令
    解决:vim /etc/profile添加:

      export ZOO_HOME=/usr/local/zookeeper-3.4.13
      export PATH=$ZOO_HOME/bin:$PATH

然后执行 source /etc/profile ;
5. 启动zookeeper:zkServer.sh start /usr/local/zookeeper-3.4.13/conf/zoo1.cfg
6. 查看zk的状态:
zkServer.sh status /usr/local/zookeeper-3.4.13/conf/zoo1.cfg
7.停止zookeeper:zkServer.sh stop /usr/local/zookeeper-3.4.13/conf/zoo1.cfg
8.执行service iptables tatus 报错:
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
解决:yum install iptables-services
9.java的安装:
下载java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
从windows把tar包上传至/usr/local/source中:上传用rz命令
解压: tar xvzf jdk-8u181-linux-x64.tar.gz
把文件移至/usr/local中:mv /usr/local/source/jdk1.8.0_181 /usr/local/jdk1.8.0_181
环境变量配置:vim /etc/profile添加:
#Java Env
export JAVA_HOME=/usr/local/jdk1.8.0_181
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
执行 source /etc/profile
10.假分布式配置
把zookeeper下conf文件中的zoo_example.cfg更名为zoo1.cfg,再新建zoo2.cfg zoo3.cfg。配置内容如下:
zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/tmp/zookeeper/zk1
clientPort=2181

server.1=master:2888:3888
server.2=master:2889:3889
server.3=master:2890:3890

zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/tmp/zookeeper/zk2
clientPort=2182

server.1=master:2888:3888
server.2=master:2889:3889
server.3=master:2890:3890

zoo3.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/tmp/zookeeper/zk3
clientPort=2183

server.1=master:2888:3888
server.2=master:2889:3889
server.3=master:2890:3890
Zookeeper真分布部署在master、slave1、slave2 三台不同的服务器上
server1…/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/tmp/zookeeper/zk
clientPort=2181

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

server2…/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/tmp/zookeeper/zk
clientPort=2181

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

server3…/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/tmp/zookeeper/zk
clientPort=2181

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
注意:要把config下的zoo_example.cfg更名成zoo.cfg,如果存在俩个cfg文件status会报错
11.myid必须手动建立且指定在zk数据目录,也就是dataDir指定的路径(不管真分布还是伪分布都需要指定)
$ echo 1 >> /home/hadoop/tmp/zookeeper/zk1/myid
$ echo 2 >> /home/hadoop/tmp/zookeeper/zk2/myid
$ echo 3 >> /home/hadoop/tmp/zookeeper/zk3/myid
12.zookeeper启动不了解决:
1.查看防火墙状态:service iptables status。如果执行报错参考第七条。如果是激活状态,service iptables stop关闭
2.查看conf下的zookeeper.out文件中的报错:根据各种报错信息进行修正,例如java没装,端口冲突等,
配置时可能会报master:

java.net.UnknownHostException: master
	at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
	at java.net.InetAddress.getAllByName(InetAddress.java:1192)
	at java.net.InetAddress.getAllByName(InetAddress.java:1126)
	at java.net.InetAddress.getByName(InetAddress.java:1076)
	at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.recreateSocketAddresses(QuorumPeer.java:180)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:591)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
	at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
	at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957)
2018-09-18 17:25:29,676 [myid:1] - INFO  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FastLeaderElection@847] - Notification time out: 60000

在C:\Windows\System32\drivers\etc中hosts文建中加入:127.0.0.1 master。
未解决的问题:在配置伪分布式时status的状态一直是not running。但用ps -ef | grep zookeeper命令使可以看到线程时存在的,我感觉是因为在一个config下面不能存在多个cfg文件有关。目前不知道具体原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值