复制代码
3)修改配置文件:
(1)修改配置:vi $ZOOKEEPER_HOME/conf/zoo.cfg
默认会加载$ZOOKEEPER_HOME/conf/zoo.cfg
操作:
cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg
修改项:dataDir=/home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/data
(2)修改日志位置:vi $ZOOKEEPER_HOME/libexec/zkEnv.sh
56行: 找到如下位置修改语句:ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"
4)启动:zkServer.sh start
[zero@CentOS-StandAlone conf]$ zkServer.sh start
JMX enabled by default
Using config: /home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
5)验证:
进程:
[zero@CentOS-StandAlone conf]$ jps
11776 QuorumPeerMain
状态:
[zero@CentOS-StandAlone conf]$ zkServer.sh status
JMX enabled by default
Using config: /home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/bin/../conf/zoo.cfg
Mode: standalone
客户端:
[zero@CentOS-StandAlone conf]$ zkCli.sh
[zk: 127.0.0.1:2181(CONNECTED) 0] ls /
[zookeeper]
附录:停止:zkServer.sh stop
三 副本安装
(一)规划
结点 | |
Zookeeper-01 | |
Zookeeper-02 | |
Zookeeper-03 | |
(二)安装
1)各个结点部署zookeeper,参照独立安装进行:
第1步:解压
第2步:设置环境变量
第3-2步:修改日志输出
2)修改配置:
vi $ZOOKEEPER_HOME/conf/zoo.cfg
- [puppet@BigData-03 conf]$ vi zoo.cfg
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/data
- clientPort=2181
- #cluster
- server.1=Zookeeper-01:2888:3888
- server.2=Zookeeper-02:2888:3888
- server.3=Zookeeper-03:2888:3888
复制代码
3)设置myid
(1)Zookeeper-01:
mkdir $ZOOKEEPER_HOME/data
echo 1 > $ZOOKEEPER_HOME/data/myid
(2)Zookeeper-02:
mkdir $ZOOKEEPER_HOME/data
echo 2 > $ZOOKEEPER_HOME/data/myid
(3)Zookeeper-03:
mkdir $ZOOKEEPER_HOME/data
echo 3 > $ZOOKEEPER_HOME/data/myid
4)各结点启动:zkServer.sh start
5)验证
进程:
[zero@CentOS-Cluster-03 conf]$ jps
3051 Jps
2829 QuorumPeerMain
状态:
(1)zookeeper-01:
[zero@CentOS-Cluster-03 conf]$ zkServer.sh status
JMX enabled by default
Using config: /home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/bin/../conf/zoo.cfg
Mode: follower
(2)zookeeper-01:
[zero@CentOS-Cluster-04 libexec]$ zkServer.sh status
JMX enabled by default
Using config: /home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/bin/../conf/zoo.cfg
Mode: follower
(3)zookeeper-01:
[zero@CentOS-Cluster-05 libexec]$ zkServer.sh status
JMX enabled by default
Using config: /home/zero/zookeeper/zookeeper-3.4.5-cdh5.0.1/bin/../conf/zoo.cfg
Mode: leader
四 附录
zoo.cfg各配置项说明:
属性 | |
tickTime | 时间单元,心跳和最低会话超时时间为tickTime的两倍 |
dataDir | |
clientPort | |
initLimit | 配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。 |
syncLimit | 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 |
server.id=host:port:port server.A=B:C:D | 集群结点列表: A :是一个数字,表示这个是第几号服务器; B :是这个服务器的 ip 地址; C :表示的是这个服务器与集群中的 Leader 服务器交换信息的端口; D :表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。 |