文章来源:http://blog.csdn.net/qq_24908345/article/details/52804483
Zookeeper的安装和配置
Zookeeper有不同的运行环境,包括,
单机环境,
集群环境和集群
伪分布式环境。
软件要求:
安装Zookeeper需要Java的支持,并且要求1.6以上的版本,对于集群的安装,Zookeeper需要至少三个节点,三个节点最好部署在
不同的机器上。系统中要求大多数机器属于可用机器。即可用的/总的>1/2 所以最好使用奇数台机器。
单机下安装Zookeeper
(一)下载
(二)安装
解压安装包
tar -zxvf zookeeper-3.4.5.tar.gz
修改配置文件
cd zookeeper-3.4.5/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
默认选项
tickTime:2000
dataDir=$HADOOP_HOME/zookeeper-3.4.5/data
clientPort=2181
#HADOOP_HOME为你hadoop安装的位置
配置项概念
tickTime:基本事件单元,以毫秒为单位,它用来指示心跳,最小的session过期时间为两倍的tickTime
dataDir:存储内存中数据块的位置,如果不设置参数,更新事务的日志将被存储到默认位置
clientPort:监听客户端连接的端口。
启动
zkServer.sh start
zkServer.sh status #查看系统的状态 在这里应该是standalone
集群下安装Zookeeper
为了获得可靠的Zookeeper的服务,用户应该在一个集群上部署Zookeeper.只要集群上大多数的Zookeeper服务启动了,那么总的Zookeeper服务将可用
1,假设有三台虚拟机,已经配置好了Hadoop. 主节点Master从节点Slave1,Slave2
2,和单机相同,配置zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$HADOOP_HOME/zookeeper-3.4.5/data
dataLogDir=$HADOOP_HOME/zookeeper-3.4.5/log
并且在最后加上
server.1=Master:2888:3888
server.2=Slave1:2888:3888
server.3=Slave2:2888:3888
3,在各个服务器上根据上面配置信息 ,在各个服务器的dataDir指定的目录data下 新建一个名称为myid
的文件。然后加入在根据server.1 后面的数字相应的拷贝到这个文件中
Master echo 1 > myid
Slave1 echo 2 > myid
Slave2 echo 3 > myid
配置项概念
initLimit:此配置表示,允许follower连接并同步到leader的初始化连接时间,它是以tickTime的倍数
来表示当初始化连接时间超过设置倍数的时间是,则连接失败
syncLimit:此配置表示leader和follower之间发送消息是时请求和应答的时间长度。如果follower在
设置的时间内不能够与leader通信,那么次follower将丢弃
dataLogDir:这个操作让管理机器吧事务日志写入“dataLogDir”所指定的目录中,而不是“dataDir"
所指定的目录,这将允许使用一个专用的日志设备,并且帮助我们避免日志和快照的竞争
server:id=host:port:port:这一行配置,第一个端口是从follower机器连接到主机器的端口,第二个端 个端口是用来进行leader选举的短口 默认 2888:3888
伪集群分布式下安装Zookeeper服务器
1,在conf目录下
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg
vim zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$HADOOP_HOME/zookeeper-3.4.5/d_1
clientPort=2181
dataLogDir=$HADOOP_HOME/zookeeper-3.4.5/logs_1
server.1=localhost:localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
vim zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$HADOOP_HOME/zookeeper-3.4.5/d_2
clientPort=2181
dataLogDir=$HADOOP_HOME/zookeeper-3.4.5/logs_2
server.1=localhost:localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
vim zoo3.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=$HADOOP_HOME/zookeeper-3.4.5/d_3
clientPort=2181
dataLogDir=$HADOOP_HOME/zookeeper-3.4.5/logs_3
server.1=localhost:localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
配置完毕
其他配置选项
maxClientCnxns
这个操作将限制连接到Zookeeper的客户端数量,并且限制并发连接的数量,他通过ip来区分不同的客户端。此配置可以用来组织某些类别Dos的攻击。将它设置为0或忽略将会取消对并发连接的限制
minSessionTimeout &
maxSessionTimeout
即最小会话超时时间和最大会话超时时间。默认情况下,最小的会话超时时间为2倍的tickTime最大的会话超时时间为20倍的会话超时时间。