`
attend
  • 浏览: 35206 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zookeeper 3.4.2集群安装

 
阅读更多

 

 

集群安装

 

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

 

#dataDirZookeeper 保存数据的目录,默认情况下,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=BCD:其中 是一个数字,表示这个是第几号服务器;是这个服务器的 ip 地址;表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

#如果是伪集群的配置方式,由于 都是一样,所以不同的 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=BC其中的数字A 进入到dataDirecho A > myid 。

5.测试
全部配置完成后,进入各机器Zookeeperbin目录,执行./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. 显示多少个连接多少个被watchpath等。

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-3.4.2.tar.gz

    1. 下载与解压:可以从Apache官网下载Zookeeper的tar.gz文件,如"zookeeper-3.4.2",解压后得到"zookeeper-3.4.2"目录。 2. 配置环境变量:修改系统环境变量,添加Zookeeper的bin目录到PATH中。 3. 修改配置文件:...

    Dubbo demo register monitor zookeeper

    1. **zookeeper-3.4.2.tar.gz**: 这是 Zookeeper 的源码或二进制包,版本为 3.4.2。安装并运行 Zookeeper 服务器是实现 Dubbo 服务注册和监控的基础。Zookeeper 提供了一个高可用的、分布式的、有序的数据存储系统,...

    dubbo linux 的一些资源

    4. **Zookeeper 安装与配置**: 解压 `zookeeper-3.4.2.tar.gz` 后,你需要配置 `conf/zoo.cfg` 文件,设定数据存储路径、连接地址等参数。然后通过命令行启动 ZooKeeper 服务。 5. **Zookeeper 与 Dubbo 集成**: 在...

    PyPI 官网下载 | bugsnag-3.4.2.tar.gz

    Zookeeper是一个分布式的协调服务,常用于管理配置信息、命名服务、集群状态维护等。在分布式系统中,Zookeeper可以确保服务之间的同步和一致性。如果bugsnag库支持与Zookeeper的集成,那么它就能为这些协调任务提供...

    PyPI 官网下载 | gspread-3.4.2.tar.gz

    本文将详细介绍gspread 3.4.2版本的下载、安装以及其在分布式、云原生环境中的应用。 gspread是开发者与Google Sheets交互的首选工具,允许通过Python代码直接读取、写入甚至更新电子表格。gspread-3.4.2.tar.gz这...

    hadoop hbase hive 伪分布安装

    - **HBase配置文件**:在`hbase-site.xml`中定义HBase运行的基本参数,包括数据目录、是否为分布式模式、Zookeeper集群信息等。 ```xml <name>hbase.rootdir <value>file:///root/hbase-0.92.1 <name>...

    kafaka文档.pdf

    3.4.2旧消费者配置 3.5 Kafka Connect配置 3.6 Kafka Streams配置 3.7 AdminClient配置 4.设计 4.1动机 4.2持久性 4.3效率 4.4制片人 4.5消费者 4.6消息传递语义 4.7复制 4。4日志压缩 ...

    Java软件开发工程师简历.pdf

    该工程师了解 Hadoop 处理大数据的运行机制,能够搭建 Hadoop 集群,理解 HDFS 与 MapReduce 交互数据的底层原理机制,了解 Hbase 的表存储、ZooKeeper 协调管理 Hadoop、Hbase。 其它技术 该工程师还了解 HTML5、...

Global site tag (gtag.js) - Google Analytics