zookeeper在linux centos7下的集群介绍和配置
2016-08-11 23:33
288 查看
Zookeeper 有三种运行模式:单机模式、伪集群模式和集群模式。
具体步骤和上一篇博客zookeeper的安装过程类似.
1. 首先保证已安装Java运行环境
2. 下载ZooKeeper安装包,可以去ZooKpper官网下载最新的Stable版本,并解压到指定目录
3. 配置zoo.cfg 解压成功后,在conf文件夹下复制一份新的zoo_sample.cfg并重新命名为zoo.cfg
启动服务
这样一个单机模式的ZooKeeper就配置完成了
首先进入zookeeper安装目录下准备三个配置文件
由于伪集群模式是在同一台机器上运行多个zk实例,所以要保证端口号不能重复,也要保证dataDir各不相同.
zoo1.cfg配置:
zoo2.cfg配置:
zoo3.cfg配置:
最后需要注意的是在配置文件最后多出的三个配置项
可以用如下格式表示
其中,id被称为server ID,用来标识该机器在集群中的机器序号(需要在每台机器的dataDir目录下创建myid文件,文件内容即为该机器对应的Server ID数字).host为机器IP,port1用于指定Follower服务器与Leader服务器进行通信和数据同步的端口,port2用于进行Leader选举过程中的投票通信.
基于以上描述:我们还需要在各个dataDir下新建myid文件
启动zk01进行测试:
查看三台服务器的状态
是用zkCli.sh进行连接测试
组成 ZooKeeper 集群的每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都会互相保持通信.重要的一点是,只要集群中存在超过一半的机器能够正常工作,那么整个集群就能够正常对外服务.
在配置集群模式之前,需要准备三台服务器,我这里使用的虚拟机上的cnteos7,IP地址分别为192.168.134.128,192.168.134.129,192.168.134.130.其他步骤同单机模式,只是在配置zoo.cfg上有所不同,下面具体介绍:
集群模式下zoo.cfg的配置:
可以看到,相比于单机模式,集群模式多了server.id=host:port1:port2 的配置.其中,id被称为server ID,用来标识该机器在集群中的机器序号(需要在每台机器的dataDir目录下创建myid文件,文件内容即为该机器对应的Server ID数字).host为机器IP,port1用于指定Follower服务器与Leader服务器进行通信和数据同步的端口,port2用于进行Leader选举过程中的投票通信.
然后创建myid文件
在dataDir指定的目录下创建名为myid文件,在第一行写上对应的Server ID.比如如下配置server.1=192.168.134.128:2888:3888,就在myid的文件第一行写上1,具体如下
最后就是按照相同步骤配置其他两台服务器,然后启动服务.
这样,整个集群模式就搭建完成
单机模式
单机模式,顾名思义,只有一个zookeeper实例,我们安装完成并且启动zk,就是一个单机模式.具体步骤和上一篇博客zookeeper的安装过程类似.
1. 首先保证已安装Java运行环境
2. 下载ZooKeeper安装包,可以去ZooKpper官网下载最新的Stable版本,并解压到指定目录
3. 配置zoo.cfg 解压成功后,在conf文件夹下复制一份新的zoo_sample.cfg并重新命名为zoo.cfg
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/zookeeper clientPort=2181
启动服务
这样一个单机模式的ZooKeeper就配置完成了
伪集群模式
这是一种特殊的集群模式,即集群的所有服务器都部署在一台机器上.首先进入zookeeper安装目录下准备三个配置文件
[root@localhost conf]# pwd /opt/zookeeper/conf [root@localhost conf]# cp zoo_sample.cfg zoo1.cfg [root@localhost conf]# cp zoo_sample.cfg zoo2.cfg [root@localhost conf]# cp zoo_sample.cfg zoo3.cfg [root@localhost conf]# ll 总用量 24 -rw-rw-r--. 1 yinxunzhi yinxunzhi 535 6月 30 2016 configuration.xsl -rw-rw-r--. 1 yinxunzhi yinxunzhi 2712 6月 30 2016 log4j.properties -rw-r--r--. 1 root root 922 4月 4 21:51 zoo1.cfg -rw-r--r--. 1 root root 922 4月 4 21:51 zoo2.cfg -rw-r--r--. 1 root root 922 4月 4 21:51 zoo3.cfg -rw-rw-r--. 1 yinxunzhi yinxunzhi 922 6月 30 2016 zoo_sample.cfg
由于伪集群模式是在同一台机器上运行多个zk实例,所以要保证端口号不能重复,也要保证dataDir各不相同.
zoo1.cfg配置:
[root@localhost conf]# cat zoo1.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/zookeeper01 clientPort=2181 server.1=192.168.1.6:2887:3887 server.2=192.168.1.6:2888:3888 server.3=192.168.1.6:2889:3889
zoo2.cfg配置:
[root@localhost conf]# cat zoo1.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/zookeeper02 clientPort=2182 server.1=192.168.1.6:2887:3887 server.2=192.168.1.6:2888:3888 server.3=192.168.1.6:2889:3889
zoo3.cfg配置:
[root@localhost conf]# cat zoo1.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/zookeeper03 clientPort=2183 server.1=192.168.1.6:2887:3887 server.2=192.168.1.6:2888:3888 server.3=192.168.1.6:2889:3889
最后需要注意的是在配置文件最后多出的三个配置项
server.1=192.168.1.6:2887:3887 server.2=192.168.1.6:2888:3888 server.3=192.168.1.6:2889:3889
可以用如下格式表示
server.id=host:port1:port2
其中,id被称为server ID,用来标识该机器在集群中的机器序号(需要在每台机器的dataDir目录下创建myid文件,文件内容即为该机器对应的Server ID数字).host为机器IP,port1用于指定Follower服务器与Leader服务器进行通信和数据同步的端口,port2用于进行Leader选举过程中的投票通信.
基于以上描述:我们还需要在各个dataDir下新建myid文件
[root@localhost /]# pwd / [root@localhost /]# mkdir /var/zookeeper01/ [root@localhost /]# mkdir /var/zookeeper02/ [root@localhost /]# mkdir /var/zookeeper03/ [root@localhost /]# echo 1 > /var/zookeeper01/myid [root@localhost /]# echo 2 > /var/zookeeper02/myid [root@localhost /]# echo 3 > /var/zookeeper03/myid
启动zk01进行测试:
[root@localhost bin]# pwd /opt/zookeeper/bin [root@localhost bin]# sh zkServer.sh start ../conf/zoo1.cfg ZooKeeper JMX enabled by default Using config: ../conf/zoo1.cfg Starting zookeeper ... STARTED
[root@localhost bin]# sh zkServer.sh start ../conf/zoo2.cfg ZooKeeper JMX enabled by default Using config: ../conf/zoo2.cfg Starting zookeeper ... STARTED
[root@localhost bin]# sh zkServer.sh start ../conf/zoo3.cfg ZooKeeper JMX enabled by default Using config: ../conf/zoo3.cfg Starting zookeeper ... STARTED
查看三台服务器的状态
[root@localhost bin]# sh zkServer.sh status ../conf/zoo1.cfg ZooKeeper JMX enabled by default Using config: ../conf/zoo1.cfg Client port found: 2181. Client address: localhost. Mode: follower [root@localhost bin]# sh zkServer.sh status ../conf/zoo2.cfg ZooKeeper JMX enabled by default Using config: ../conf/zoo2.cfg Client port found: 2182. Client address: localhost. Mode: leader [root@localhost bin]# sh zkServer.sh status ../conf/zoo3.cfg ZooKeeper JMX enabled by default Using config: ../conf/zoo3.cfg Client port found: 2183. Client address: localhost. Mode: follower
是用zkCli.sh进行连接测试
[root@localhost bin]# sh zkCli.sh -server 192.168.1.6:2181,192.168.1.6:2182,192.168.1.6:2183 Connecting to 192.168.1.6:2181,192.168.1.6:2182,192.168.1.6:2183 2018-04-04 22:30:39,168 [myid:] - INFO [main:Environment@109] - Client environment:zookeeper.version=3.5.2-alpha-1750793, built on 06/30/2016 13:15 GMT ....
集群模式(后续完善)
一个ZooKeeper集群通常由一组ZooKeeper实例组成,一般3台以上就可以组成一个可用的ZooKeeper集群了.组成 ZooKeeper 集群的每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都会互相保持通信.重要的一点是,只要集群中存在超过一半的机器能够正常工作,那么整个集群就能够正常对外服务.
在配置集群模式之前,需要准备三台服务器,我这里使用的虚拟机上的cnteos7,IP地址分别为192.168.134.128,192.168.134.129,192.168.134.130.其他步骤同单机模式,只是在配置zoo.cfg上有所不同,下面具体介绍:
集群模式下zoo.cfg的配置:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/zookeeper clientPort=2181
server.1=192.168.134.128:2888:3888
server.2=192.168.134.129:2888:3888
server.3=192.168.134.130:2888:3888
可以看到,相比于单机模式,集群模式多了server.id=host:port1:port2 的配置.其中,id被称为server ID,用来标识该机器在集群中的机器序号(需要在每台机器的dataDir目录下创建myid文件,文件内容即为该机器对应的Server ID数字).host为机器IP,port1用于指定Follower服务器与Leader服务器进行通信和数据同步的端口,port2用于进行Leader选举过程中的投票通信.
然后创建myid文件
在dataDir指定的目录下创建名为myid文件,在第一行写上对应的Server ID.比如如下配置server.1=192.168.134.128:2888:3888,就在myid的文件第一行写上1,具体如下
[root@localhost var]# cd / [root@localhost /]# cd /var/ [root@localhost var]# mkdir zookeeper [root@localhost var]# cd zookeeper/ [root@localhost zookeeper]# vi myid #写入Server ID [root@localhost zookeeper]# cat myid 1
最后就是按照相同步骤配置其他两台服务器,然后启动服务.
这样,整个集群模式就搭建完成
相关文章推荐
- Zookeeper介绍和简单3台配置集群
- zookeeper介绍及配置zookeeper集群
- Kafka 0.10.0.+zookeeper3.4.8集群搭建、配置,新Client API介绍
- ZooKeeper的介绍及集群的安装与配置
- 配置zooKeeper集群出现路径不通问题的解决方案
- zookeeper的集群模式下的安装和配置
- zookeeper3.3学习笔记2:配置参数介绍
- 集群环境下配置hadoop1.0,zookeeper,hbase
- ZooKeeper-3.3.4集群安装配置
- Zookeeper+Metaq 集群配置
- ZooKeeper-3.3.4集群安装配置
- ZooKeeper集群环境安装与配置
- zookeeper、solr集群的配置
- zookeeper-3.4.5集群的配置
- liunx系统LVS的DR集群的配置和介绍
- zookeeper单机伪集群配置
- 基于ZooKeeper大规模集群配置系统概述
- Zookeeper集群配置
- ceph集群配置-1.硬盘和文件系统介绍