zookeeper安装

名词解释

leader:负责发起投票,更细系统状态,并同步数据

follwer:接受客户端返回结果,参与选举投票

object:扩展系统,转发leader请求

client:向zookeper发起数据读写请求

 网上环境因人而异,每个人方式不一样,写下是自己搭建环境的步骤:

1、下载安装包:

mkdir daxian

cd daxian

wget http://mirror.bit.edu.cn/apache/storm/apache-storm-1.2.2/apache-storm-1.2.2.tar.gz

wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

 

  备注:scp -r daxian/ root@192.168.210.11://           将daxian文件夹发送到11这个环境下,而daxian这个文件jar里有以上安装包,所以自己找自己的安装包名字

2、解压 tar -zxvf  ***

  例如: tar -zxvf zookeeper-3.4.13.tar.gz 

3、配置zookeeper集群

 cd /daxian/zookeeper-3.4.13/conf/

 cp  zoo_sample.cfg  zoo.cfg

vim zoo.cfg

zoo.cfg内容如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/daxian/zookeeper-3.4.13/zkdata
dataLogDir=/daxian/zookeeper-3.4.13/zklogdir

# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=daxian10:2888:3888
server.2=daxian11:2888:3888
server.3=daxian12:2888:3888

 

退出

wq!

4、创建日志,数据目录

mkdir /daxian/zookeeper-3.4.13/zkdata

mkdir  /daxian/zookeeper-3.4.13/zklogdir

dataDir=/daxian/zookeeper-3.4.13/zkdata
dataLogDir=/daxian/zookeeper-3.4.13/zklogdir

5、创建myid

除了以上配置外,每个服务器都必须在data dir(zkdata)目录中创建一个myid的文件,文件里要包含服务器ID,这个id要与配置文件里配置的id保持一致,(zoo.cfg 里末尾,server.1   1就是id)

执行命令:echo "3" > /daxian/zookeeper-3.4.13/zkdata/myid

注意:  echo "3"   3代替不同的服务器节点。其他配置 1或者2,不可重复

server.1 第一个参数为服务器的ip或者名字,2888位通信tcp端口,3888位tcp选举leader端口,

而上面我的服务器ip写的是daxian10, 那是因为我配置了hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.10 daxian10
192.168.200.11 daxian11
192.168.200.12 daxian12

6、启动,可以配置软连接启动,也可以直接在zookeeper目录下直接启动

 cd /daxian/zookeeper-3.4.13/bin

sh zkServer.sh  start &

显示:Using config: /daxian/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

7、查看启动是否成功

sh zkServer.sh  status

单机显示

ZooKeeper JMX enabled by default
Using config: /daxian/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: standalone
 

集群显示

ZooKeeper JMX enabled by default
Using config: /daxian/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader

上面的leader或者是follwer
 

 

8错误排查:

在bin目录下,cat zookeeper.out    查看下错误日志

1、显示connect refused 

 Cannot open channel to 3 at election address daxian99/172.16.0.99:3888
java.net.ConnectException: 拒绝连接 (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:534)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:454)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:435)
    at java.lang.Thread.run(Thread.java:748)
  

解决办法:查看防火墙是否打开和端口,

 

[root@daxian bin]# firewall-cmd --state

not running   

: systemctl stop firewalld.service  -关闭防火墙

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值