博主: haitianisgood
原博客网址:
Zookeeper集群及单机安装
环境
Centos
Zookeeper-3.4.6
单机模式安装
zookeeper下载
1.下载Zookeeper-3.4.6.tar.gz 地址:
http://www.apache.org/dist/zookeeper/
2.我们放到Linux下的一个文件夹,然后解压:
mkdir -p /data/server/
cd /data/server/
wget http://101.44.1.126/files/51380000056CB2F1/apache.claz.org/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar -zxvf zookeeper-3.4.6.tar.gz
3.修改配置文档
conf 下有一个文件zoo_sample.cfg这个文件里面配置了监听客户端连接的端口等一些信息,Zookeeper 在启动时会找zoo.cfg这个文件作为默认配置文件,所以我们复制一个名称为zoo.cfg的文件。操作如下:
cd /data/server/zookeeper-3.4.6/conf
cp -p zoo_sample.cfg zoo.cfg
修改如下:
说明:
clientPort:监听客户端连接的端口。
tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
我们可以对配置文件的端口等或者进行高级配置和集群配置例如:
maxClientCnxns:限制连接到 ZooKeeper 的客户端的数量等
4.创建存储目录和日志目录
cd /data/server/zookeeper-3.4.6
mkdir data
mkdir log
chown 1000:1000 data
chown 1000:1000 log
5.启动zookeeper
cd /data/server/zookeeper-3.4.6/bin
./zkServer.sh start
6.登陆客户端查看zookeeper启动情况
./zkCli.sh -server 127.0.0.1:2181
到此zookeeper安装、单机配置完成。
集群配置:
集群安装,只需准备所需集群机器数,这里例如三台:
10.0.8.31
10.0.8.32
10.0.8.33
安装的跟单机模式一样,主要配置不同!!!
1.配置zoo.cfg
配置文件zoo.cfg。初次使用zookeeper,按照如下这个简单配置即可:
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/server/zookeeper-3.4.6/data
dataLogDir=/data/server/zookeeper-3.4.6/log
clientPort=2181
maxClientCnxns=200
minSessionTimeout=1000
maxSessionTimeout=60000
server.1=10.0.8.31:2888:3888
server.2=10.0.8.32:2888:3888
server.3=10.0.8.33:2888:3888
2.创建myid文件
cd /data/server/zookeeper-3.4.6/data
touch myid
vim myid
不同节点写入不同Server ID
注意:
(1)集群中的每台机器都需要感知整个集群是由哪几台机器组成的,在配置文件zoo.cfg按此格式,每行写一个机器配置:
server.id=host:port:port
关于这个id,我们称之为Server ID,标识host机器在集群中的机器序号。
(2)创建myid文件。
在每个ZK机器上,我们需要在数据目录(数据目录就是dataDir参数指定的那个目录)下创建一个myid文件,myid中就是这个Server ID数字。
myid文件中只有一个数字,即一个Server ID。例如,server.1 的myid文件内容就是“1”。注意,请确保每个server的myid文件中id数字不同,并且和server.id=host:port:port中的id一致。另外,id的范围是1~255。
(3)配置管理
在ZooKeeper集群中任意一台机器上的zoo.cfg文件的内容都是一致的。
因此最好是用git把这个文件管理起来,保证每个机器都能共享到一份相同的配置。
$ echo stat|nc localhost 2181
3.启动zookeeper
进入三台服务器,并启动zookeeper:
cd /data/server/zookeeper-3.4.6/bin
./zkServer.sh start
内存设置
在zookeeper/conf/下创建一个文件java.env
vim java.env
java.env文件内容如下:
#!/bin/sh
export JAVA_HOME=/usr/java/jdk
# heap size MUST be modified according to cluster environment
export JVMFLAGS="-Xms512m -Xmx1024m $JVMFLAGS"
修改所有者
chown -R 1000:1000 java.env
命令
启动ZK服务: sh bin/zkServer.sh start
查看ZK服务状态: sh bin/zkServer.sh status
停止ZK服务: sh bin/zkServer.sh stop
重启ZK服务: sh bin/zkServer.sh restart