zookeeper的搭建以及集群搭建是很是简单的、咱们在工做中经常使用的就是单点模式跟集群模式。html
本篇的内容为:apache
官网zookeeper搭建参考:https://zookeeper.apache.org/...centos
Zookeeper单点模式和集群模式。bash
tar -zxvf zookeeper-***.tar.gz
进入到源码目录下的conf目录,根据zoo_sample.cfg
,建立一个配置文件zoo.cfg
,启动时默认就是按照zoo.cfg
这个配置文件的信息来启动服务器
# Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔, # 也就是每一个 tickTime 时间就会发送一个心跳。 tickTime=2000 # Zookeeper 保存数据的目录 dataDir=/opt/zookeeper/data # Zookeeper 保存日志文件的目录 dataLogDir=/opt/zookeeper/log # 客户端链接Zookeeper 服务器的端口 # Zookeeper 会监听这个端口,接受客户端的访问请求 clientPort=2181
修改环境变量测试
vi ~/.bashrc export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin source ~/.bashrc
进入到源码目录下的bin目录,执行zkServer.sh
脚本文件便可spa
# 启动 zkServer.sh start # 关闭 zkServer.sh stop
查看当前zookeeper 状态翻译
[root@localhost bin]# sh zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg Mode: standalone
Mode:standalone
能够看到如今的节点启动类型:单点模式。日志
集群模式的搭建和单点模式的差异不大,若是按照官方的最低要求,就是三台服务器,在这三台服务器上面分别执行一下上述单点模式的步骤,同一集群下的每台服务器的配置文件相似。code
基于上述单点模式搭建,集群模式的搭建,咱们须要作如下更改:
每台机器上 conf/zoo.cfg 配置文件的参数设置,须要添加集群的信息.
tickTime=2000 dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log clientPort=2181 # 集群相关配置 # 容许 follower 链接并同步到 leader 的初始化链接时间 # 好比这里就是容许 5个 tick 的时间 initLimit=5 # leader 与 follower 之间发送消息,请求和应答时间长度。 # 若是 follower 在设置的时间内不能与leader 进行通讯,那么此 follower 将被丢弃。 # 好比这里就是容许 2个 tick 的时间 syncLimit=2 # 集群信息 server.1=centos1:2888:3888 server.2=centos2:2888:3888 server.3=centos3:2888:3888
server.id=host:port1:port2
标识了不一样Zookeeper服务器的信息,其中 id
是一个数字,表示这个是服务器的编号;host
是这个服务器的 ip 地址;至于port1
和port2
参照官网的描述较为准确.
"2888"和"3888",Zookeeper 节点使用前面那个端口(port1
)来与其余节点创建链接。这个链接是必须创建的,由于不一样节点之间须要通讯。打比方说,follower
节点须要“同意”leader
节点的更新命令。更确切一点说,这个节点是用于follower
节点和leader
节点之间的通讯。当一个leader
节点出现了,follower
节点会在port1
上与leader
节点创建一个TCP
链接。由于默认的leader
选举也是用TCP
,咱们如今就须要另外一个端口来用于leader
选举,这就是port2
的做用。
归纳来讲,port1
通讯端口,port2
选举端口。
dataDir
目录下须要建立一个名为myid
的文件,这个文件中仅含有一行的内容,指定的是自身的 id 值,就是server.id=host:port1:port2
中的id
值。这个 id
值必须是集群中惟一的。zoo.cfg
和myid
文件修改建立以后,在三个节点上分别执行命令zkServer.sh start
,启动zookeeper server。查看集群状态
一、jps(查看进程:会出现:QuorumPeerMain ) 二、zkServer.sh status(查看集群状态,主从信息)
文件上传:
上传: scp localpath username@ip:remotepath
文件下载:
scp -r remote_username@remote_ip:remote_folder local_folder
scp /Users/xiexinming/software/package/zookeeper-3.4.9.tar.gz root@10.1.200.244:/usr/local/
一、解压
tar -zxvf zookeeper-3.4.9.tar.gz
二、删除jar包,而后重命名
vi ~/.bashrc export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin source ~/.bashrc
拷贝一份已经存在的样本文件,而后进行编辑
进入zookeeper的配置文件中:
cd ./zookeeper/conf
咱们在/opt下新建目录:zookeeper
而后咱们修改zookeeper的配置文件。
mkdir /opt/zookeeper/data mkdir /opt/zookeeper/log
修改里面的基本配置文件:
dataDir=/opt/zookeeper/data dataLogDir=/opt/zookeeper/log server.1=centos01:2888:3888 server.2=centos02:2888:3888
设置zookeeper的id
进入zookeeper的data目录中去,设置他的id
cd /opt/zookeeper/data echo 1 > myid
上面myid里面内容为1,表明的是当前zookeeper机器编号。
scp -r /usr/local/zookeeper centos02:/usr/local ,修改环境变量,在centos02将myid的内容改成2 (echo 2 > myid) scp -r /usr/local/zookeeper centos03:/usr/local,修改环境变量,在centos03将myid的内容改成3 (echo 3 > myid)
在另外一台机器查看:
修改环境变量:
vi ~/.bashrc export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin source ~/.bashrc
设置zookeeper的id
进入zookeeper的data目录中去,设置他的id
cd /opt/zookeeper/data echo 2 > myid
zookeeper是最基本基本的系统,全部能够直接跑
二台机器上执行:
一、启动zookeeper:
zkServer.sh start
二、查看集群状态
一、jps(查看进程:会出现:QuorumPeerMain ) 二、zkServer.sh status(查看集群状态,主从信息)