集群安装
1.安装JDK。下载地址:http://java.sun.com/javase/downloads/index.jsp
设置JAVA_HOME ,将$JAVA_HOME/bin 加到PATH变量里。
2.下载Zookeeper 地址:http://hadoop.apache.org/zookeeper/releases.html 解压到相应目录。
3.创建配置文件。conf/zoo.cfg 内容例如:
#tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 毫秒时间就会发送一个心跳。
tickTime=2000
#dataDir:Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
dataDir=/tmp/zookeeper/data
#dataLogDir:日志文件保存的位置
dataLogDir=/tmp/zookeeper/log
#clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
clientPort=2181
#initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。
#当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
initLimit=10
#syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒
syncLimit=5
#server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
#如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
server.1=192.168.211.1:2888:3888
server.2=192.168.211.2:2888:3888
server.3=192.168.211.3:2888:3888
#自动清理功能是3.4.0之后提供的功能。较低的版本需要手工运行清理工具。
#自动清理时保存在datadir里的数据快照数。最小值3
autopurge.snapRetainCount=3
#自动清理任务的间隔小时数
autopurge.purgeInterval=1
4.创建myid文件。
myid文件只包含一个单行文本,内容为机器的编号。server.A=B:C:D 其中的数字A 进入到dataDir,echo A > myid 。
5.测试
全部配置完成后,进入各机器Zookeeper的bin目录,执行./zkServer.sh start
之后执行echo stat | nc localhost 2181 查看当前节点状态。
Observers配置
为提高zookeeper伸缩性而设计。Observers不参与投票的服务器,可以接受客户端的连接,将写请求转发给领导节点。
设置 ZooKeeper 使用 Observers 非常简单,只需要在配置文件中有两处改动。
首先是每个 Observer 的配置文件中都要有这么一行:
peerType=observer
这行让服务器作为一个 Observer 来工作。之后,在每个服务器配置文件中,你必须在服务器定义行给每个 Observer 加入 :observer 。比如:
Server.4=192.168.211.4:2888:3888:observer
这让每个其他服务器知道 server.4 是一个 Observer,就不会让它进行投票了。
有关Obervers的说明详见gnawux的译文 http://wangxu.me/blog/p/320
系统监控
使用命令监控
例如:
echo stat | nc ip port
echo conf | nc ip port
或者telnet ip port 输入 stat 、conf等。
常用指令如下:
conf :显示配置参数
cons :列出所有的连接
crst :重置连接/session的统计信息
dump :Lists the outstanding sessions and ephemeral nodes. Leader节点有效。
envi :输出环境变量
ruok : 是否runok.
Srst:重置服务器统计信息。
Srvr:显示服务器信息。平均等待时间,运行的模式等。
Stat:显示服务状态。
wchs :Lists brief information on watches for the server. 显示多少个连接多少个被watch的path等。
wchc :Lists detailed information on watches for the server, by session。 小心使用,可能影响性能。
wchp : Lists detailed information on watches for the server, by path。 小心使用,可能影响性能。
mntr : 输出集群健康监测相关的信息。
使用jmx监控
修改zkServer.sh, ZOOMAIN部分的内容修改类似如下:
ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLY -Djava.rmi.server.hostname=10.10.249.197
-Dcom.sun.management.jmxremote.port=1911
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
org.apache.zookeeper.server.quorum.QuorumPeerMain"
启动后,可在远程启动jconsole通过jmx连接后监控。
问题处理
当文件损坏导致无法启动时,解决方法如下:
1.启动其它能正常启动的zookeeper,并用echo ruok| nc ip port 判断正常运行。
2.删除 datadir/version-2 and datalogdir/version-2/ 目录。
3.启动zookeeper。
分享到:
相关推荐
在开始搭建 ZooKeeper 集群之前,需要提前在本地安装好 JDK,因为 ZooKeeper 是用 Java 编写的,需要运行在 JVM 上。 第一步:下载和解压 ZooKeeper 首先,需要下载 ZooKeeper 的安装包,例如 zookeeper-3.4.6.tar...
1. 下载与解压:可以从Apache官网下载Zookeeper的tar.gz文件,如"zookeeper-3.4.2",解压后得到"zookeeper-3.4.2"目录。 2. 配置环境变量:修改系统环境变量,添加Zookeeper的bin目录到PATH中。 3. 修改配置文件:...
### Linux下Zookeeper集群的安装详解 #### 一、Zookeeper概述及主要功能 ##### Zookeeper简介 Zookeeper是一款开源的分布式协调服务组件,属于Apache顶级项目之一。它主要用于简化分布式应用程序的开发过程,为...
Zookeeper集群安装 Zookeeper是一个分布式应用程序协调服务,它提供了高效、可靠、稳定的分布式协调服务,可以帮助开发者快速构建可靠的分布式应用程序。在这个文档中,我们将详细介绍如何安装和配置Zookeeper集群...
redis zookeeper kafka集群安装手册
### Zookeeper 3.4.9 集群安装与配置详解 #### 一、准备工作 在进行Zookeeper 3.4.9集群的安装前,我们需要做好一系列的基础准备: 1. **操作系统**:本教程中使用的操作系统为CentOS 7。 2. **Java环境**:确保...
总的来说,Zookeeper集群的安装涉及多台服务器的配置,包括JDK的安装、Zookeeper软件的解压、配置文件的定制以及服务的启动和测试。正确配置和运行Zookeeper集群对于构建和管理分布式系统至关重要,因为它提供了关键...
在Linux上安装ZooKeeper伪集群,CentOS7+ZooKeeper3.4.12
### Zookeeper伪集群安装流程详解 #### 一、概述 Zookeeper是一款开源的分布式协调服务,主要用于解决分布式系统中常见的协调问题,如命名服务、配置管理、集群管理和分布式锁等。伪集群是一种特殊的集群模式,它...
总结来说,搭建 Zookeeper 伪集群或集群主要涉及安装、配置以及启动服务。在配置过程中,理解并正确设置 Zookeeper 的核心参数至关重要,这将直接影响集群的稳定性和性能。同时,确保集群内的通信畅通无阻也是成功...
"Zookeeper 集群环境安装" Zookeeper 是一个分布式应用程序协调服务,提供了可靠的配置管理、分布式同步和命名注册等功能。为了在生产环境中使用 Zookeeper,需要安装和配置 Zookeeper 集群环境。下面是 Zookeeper ...
### Zookeeper基础知识与架构 ...通过上述步骤,不仅可以完成Zookeeper单机版的安装配置,还可以搭建一个具备高可用特性的Zookeeper集群。这为分布式应用提供了一种可靠且高效的服务协调解决方案。
高可用之 ZooKeeper 集群的安装、配置、高可用测试 ZooKeeper 是一个广泛使用的分布式协调服务,提供了高可用、可靠的服务注册中心解决方案。高可用之 ZooKeeper 集群的安装、配置、高可用测试是分布式系统架构中...
本文档主要介绍如何在多台服务器上部署一个完整的Storm集群,其中包括JDK安装、Zookeeper集群安装以及Storm集群的搭建。整个过程分为三个主要部分:Java环境(JDK)的安装、Zookeeper集群的配置以及Storm集群的具体...
【Linux 安装 Zookeeper 及集群部署】 Apache Zookeeper 是一个分布式的,开放源码的服务协调框架,源自 Apache Hadoop 的子项目,现已成为 Apache 顶级项目。它主要用于提供分布式环境下的配置管理、命名服务、...
ZooKeeper 集群安装 ZooKeeper 是一个开源的分布式协调服务,用于提供配置管理、名字服务、分布式同步和组服务等功能。下面是 ZooKeeper 集群安装的详细步骤和相关知识点。 Step 1: 安装 Java JDK 在安装 ...
### Zookeeper单节点安装与集群部署详解 #### 一、Zookeeper简介 ZooKeeper是一个分布式协调服务系统,主要用于解决分布式环境中常见的数据一致性问题。它能够简化开发人员处理分布式协调任务的工作,例如命名服务...
zookeeper一键式安装shell脚本,无需手动搭建集群环境,脚本运行即可自动配置