zookeeper安装
zookper完全分布式安装
zookeeper是一个分布式应用程序协调系统,主要会提供配置服务,分布式服务,权限服务,锁定功能以及分布式数据同步。
http://www-eu.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz
二、解压
tar xzvf zookeeper-3.4.12.tar.gz -C /usr/local
mv /usr/local/zookeeper-3.4.12.tar.gz /usr/local/zookeeper
三、配置环境变量
export ZOOKEEPER_HOME=/usr/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
四、创建数据存放目录、日志目录、zookeeper序号
mkdir /usr/local/zookeeper/dataDir
chmod 766 /usr/local/zookeeper/dataDir
mkdir /usr/zookeeper/dataLogDir
chmod 766 /usr/zookeeper/dataLogDir
echo 1 > /var/zookeeper/myid #另外两台机器应该echo 2、3.创建zookeeper编号
五、配置zoo.conf文件
在安装目录下conf目录中有zoo_sample.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=/usr/zookeeper-3.4.12/dataDir
dataLogDir=/usr/zookeeper-3.4.12/dataLogDir
# the port at which the clients will connect
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
# 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
============ zookeeper配置文件说明 ============
集群中所有机器上zoo.cfg文件的内容都应该是一致的。
dataDir: 保存zookeeper数据路径
dataLogDir:保存zookeeper日志路径,当此配置不存在时默认路径与dataDir一致
clientPort(2181) : 客户端与zookeeper相互交互的端口
server.id=host:port:port
id代表这是第几号服务器
在服务器的data(dataDir参数所指定的目录)下创建一个文件名为myid的文件,
这个文件的内容只有一行,指定的是自身的id值。比如,服务器“1”应该在myid文件中写入“1”。
这个id必须在集群环境中服务器标识中是唯一的,且大小在1~255之间。
host代表服务器的IP地址
第一个端口号(2888)是follower服务器与集群中的“领导者”leader机器交换信息的端口
第二个端口号(3888)是当领导者失效后,用来执行选举leader时服务器相互通信的端口
maxClientCnxns : 限制连接到zookeeper服务器客户端的数量
=============================================
六、slave1、slave2机器上同样部署zookeeper
slave1机器上,dataDir目录下myid文件内容为 2
slave2机器上,dataDir目录下myid文件内容为 3
七、三台机器上分别启动、查看zookeeper
kServer.sh start启动
jps查看QuorumPeerMain
zkServer.sh status
伪分布式安装
一台机器创建,创建zoo1.cfg、zoo2.cfg、zoo3.cfg,没份指定不同的数据目录和日志目录,并在数据目录下写入myid。由端口号来模拟分布式
server.1=qi:2888:3888
server.2=qi:2889:3889
server.3=qi:2890:3890
启动时
zkServer.sh start zoo1.cfg
zkServer start zoo2.cfg
zkServer start zoo3.cfg