ZooKeeper高可用集群的安装及配置
Zookeeper作为很多服务的注册协调中心(dubbo,jstom等),因此高可用集群方案也是必不可少的,Zookeeper集群时要注意将ZK集群的节点数量要为奇数(2n+1:如 3、5、7 个节点)较为合适。
范例项目: http://wosyingjun.iteye.com/blog/2312553
1、下载并上传zookeeper-3.4.6.tar.gz到各个服务器的/usr/local/目录
$ cd /usr/local/
$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
2、在各个服务器上解压zookeeper安装包,并按节点号对zookeeper目录重命名
$ tar -zxvf zookeeper-3.4.6.tar.gz
服务器 1:
$ mv zookeeper-3.4.6 zookeeper-3.4.6_(1)
服务器 2:
$ mv zookeeper-3.4.6 zookeeper-3.4.6_(2)
服务器 3:
$ mv zookeeper-3.4.6 zookeeper-3.4.6_(3)
3、在各zookeeper节点目录下创建以下目录:
$ cd /usr/local/zookeeper-3.4.6_(x)(x代表节点号)
$ mkdir data
$ mkdir logs
4、将 zookeeper/zookeeper-3.4.6_(x)/conf目录下的zoo_sample.cfg文件拷贝一份,命名为zoo.cfg:
$ cp zoo_sample.cfg zoo.cfg
5、修改 zoo.cfg 配置文件
#zookeeper-3.4.6_(1)的配置(/usr/local/zookeeper-3.4.6_(1)/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6_(1)/data
dataLogDir=/usr/local/zookeeper-3.4.6_(1)/logs
clientPort=2181
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883
#zookeeper-3.4.6_(2)的配置(/usr/local/zookeeper-3.4.6_(2)/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6_(2)/data
dataLogDir=/usr/local/zookeeper-3.4.6_(2)/logs
clientPort=2182
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883
#zookeeper-3.4.6_(3)的配置(/usr/local/zookeeper-3.4.6_(3)/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6_(3)/data
dataLogDir=/usr/local/zookeeper-3.4.6_(3)/logs
clientPort=2183
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883
参数说明
tickTime=2000
tickTime这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。
initLimit=10
initLimit这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper 服务器的客户端,而是Zookeeper服务器集群中连接到Leader的Follower 服务器)初始化连接时最长 能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
syncLimit=5
syncLimit 这个配置项标识Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。
dataDir=/usr/local/zookeeper-3.4.6_(x)/data
dataDir顾名思义就是Zookeeper保存数据的目录,默认情况下Zookeeper将写数据的日志文件也保存在这个目录里。
clientPort=2181
clientPort这个端口就是客户端(应用程序)连接Zookeeper服务器的端口,Zookeeper 会监听这个端 口接受客户端的访问请求。
server.A=B:C:D
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的IP地址(或者是与IP地址做了映射的主机名);
C 第一个端口用来集群成员的信息交换,表示这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是在leader挂掉时专门用来进行选举 leader 所用的端口。
6、在dataDir=/usr/local/zookeeper-3.4.6_(x)/data下创建 myid 文件
$ vi /usr/local/zookeeper-3.4.6(1) /data/myid 设置值为1
$ vi /usr/local/zookeeper-3.4.6(2) /data/myid 设置值为1
$ vi /usr/local/zookeeper-3.4.6_(3) /data/myid 设置值值为3
7、在防火墙中打开要用到的端口218X、288X、388X
$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 218X -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 288X -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 388X -j ACCEPT
$ service iptables restart
8、启动并查看zookeeper:
$ /usr/local/zookeeper-3.4.6(x)/bin/zkServer.sh start
$ /usr/local/zookeeper-3.4.6(x)/bin/zkServer.sh status
9、连接zookeeper的客户端配置修改:
zookeeper://192.168.11.97:2181?backup=192.168.11.98:2182,192.168.11.99:2183
相关推荐
总之,"kafka+zookeeper高可用集群搭建shell使用脚本"涵盖了分布式系统设计、高可用性策略、配置管理以及自动化部署等多个IT领域的知识。通过这样的脚本,我们可以快速、高效地构建出一个满足生产需求的Kafka和...
ActiveMQ 高可用集群(ZooKeeper + LevelDB)安装、配置、高可用测试 ActiveMQ 高可用集群是分布式消息队列系统的核心组件之一,旨在提供高可用性和高性能的消息队列服务。在本教程中,我们将详细介绍如何使用 ...
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群...通过规划服务器环境、选择合适的版本组合、安装和配置Zookeeper、Hadoop和HBase三个组件,可以搭建一个高效的Hadoop HA高可用集群。
- 在`zoo.cfg`中添加集群配置信息,例如: ```bash server.1=192.168.1.90:2888:3888 server.2=192.168.1.91:2888:3888 server.3=192.168.1.92:2888:3888 ``` 3. **启动集群**:在每个节点上分别启动Zookeeper...
二、 ZooKeeper 集群配置 1. 配置 ZooKeeper 节点:在每个 ZooKeeper 节点目录下配置 zoo.cfg 文件,包括 tickTime、initLimit、syncLimit、dataDir、dataLogDir、clientPort 等参数。 2. 配置 ZooKeeper 节点之间...
"ActiveMQ高可用集群(ZooKeeper+LevelDB)安装、配置(伪集群)" 本文将详细介绍ActiveMQ高可用集群的安装和配置过程,该集群使用ZooKeeper和LevelDB实现高可用性。 ActiveMQ高可用集群规划 在部署ActiveMQ高可用...
Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群 本文将详细介绍如何使用Mysql、Haproxy、Mycat、PXC、Zookeeper实现高可用集群,涵盖了整个架构图、应用程序的访问流程、数据的读写分离、负载均衡、数据库节点的...
修改 zookeeper 启动配置文件 zoo.cfg,配置 dataDir、dataLogDir、clientPort,并进行集群配置,例如: server.1=172.19.59.46:2888:3888 server.2=172.19.59.47:2889:3889 server.3=172.19.59.50:2890:3890 其中...
例如,在HBase中,客户端可以通过连接Zookeeper来获取必要的集群配置信息,从而实现对HBase集群的操作。 2. **名字服务** 名字服务是Zookeeper提供的一项基本功能,类似于DNS在互联网中的作用。在分布式系统中,...
Zookeeper 的安装和配置相对简单,无论是单机模式还是集群模式,都可以通过简单的步骤快速搭建。它的核心功能包括配置管理、名字服务、分布式锁和集群管理,这些功能使得 Zookeeper 成为了分布式系统中不可或缺的...
以下是对ActiveMQ高可用集群配置的详细解释: 1. **ZooKeeper 配置**: - 安装 ZooKeeper:首先,你需要在集群中的每个节点上安装 ZooKeeper,并配置相应的`conf/zoo.cfg`文件,设置集群节点地址(如`server.1=...
【ActiveMQ高可用集群原理与配置】 ActiveMQ是一款开源的消息中间件,它提供高可靠性的消息传递服务。在高可用性集群模式下,ActiveMQ可以通过多种方式实现冗余和故障转移,以确保即使在单个节点失败时,消息传递也...
启动Zookeeper集群,需要在每台服务器上启动Zookeeper服务,Zookeeper集群将自动选举出Leader节点,并提供高可用性的分布式协调服务。 通过上述步骤,我们可以成功地安装和配置Zookeeper集群,提供高效、可靠、稳定...
ZooKeeper集群的安装、配置、高可用测试 ZooKeeper是Apache软件基金会的一个开源项目,提供了一个分布式应用程序的协调服务。它可以提供可靠的分布式配置管理、命名服务、分布式同步和提供组服务等功能。下面是...
Zookeeper集群配置的前提条件是集群中的节点数量最好是奇数个,这样可以保证只要集群中过半的节点是正常的,集群对外就是可用的。这是因为Zookeeper的投票机制要求集群在进行任何决策时都需要超过半数节点的同意。...
1. 安装ZooKeeper集群,以提供高可用性和分布式锁服务。 2. 安装Hadoop NameNode,以提供元数据管理服务。 3. 安装Hadoop DataNode,以提供数据存储服务。 4. 配置Hadoop HA集群,以实现高可用性和可扩展性。 在...
- **特点**: 可以用于测试和调试,便于理解和学习集群配置。 - **搭建步骤**: - 按照单机模式进行基本配置。 - 对每个实例配置不同的`clientPort`和`dataDir`。 - 在每个实例的`dataDir`目录下创建`myid`文件,...
进入 `/home/czzhd/soft/zookeeper-3.3.6/conf` 目录, 新增或修改 `zoo.cfg` 文件, 添加集群配置: ```properties tickTime=2000 dataDir=/home/czzhd/zookeeper_data clientPort=2181 initLimit=5 syncLimit...