博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zookeeper集群环境搭建
阅读量:2069 次
发布时间:2019-04-29

本文共 2375 字,大约阅读时间需要 7 分钟。

序言

       Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。

        Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。

        Zookeeper使用的数据结构为树形结构,根节点为"/"。Zookeeper集群中的节点,根据其身份特性分为leader、follower、observer。leader负责客户端writer类型的请求;follower负责客户端reader类型的请求,并参与leader选举;observer是特殊的follower,可以接收客户端reader请求,但是不会参与选举,可以用来扩容系统支撑能力,提高读取速度。

       Zookeeper是一个基于观察者模式设计的分布式服务管理框架,负责存储和管理相关数据,接收观察者的注册。一旦这些数据的状态发生变化,zookeeper就负责通知那些已经在zookeeper集群进行注册并关心这些状态发生变化的观察者,以便观察者执行相关操作。

 

apache-zookeeper-3.5.5.tar.gz这个包缺少Jar和lib注意不要使用

 

集群搭建

     下载zookeeper,然后复制三份,分别启动并修改.

[root@localhost cuiyaonan]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz[root@cuiyaonan2000@163.com cuiyaonan]# tar -zxvf zookeeper-3.4.14.tar.gz[root@cuiyaonan2000@163.com cuiyaonan]# cp -rf zookeeper-3.4.14 apache-zookeeper-1[root@cuiyaonan2000@163.com cuiyaonan]# cp -rf zookeeper-3.4.14 apache-zookeeper-2[root@cuiyaonan2000@163.com cuiyaonan]# cp -rf zookeeper-3.4.14 apache-zookeeper-3[root@cuiyaonan2000@163.com cuiyaonan]# mkdir data[root@cuiyaonan2000@163.com cuiyaonan]# mkdir logs

然后依次修改zk1,zk2,zk3的配置文件conf/zoo.cfg. 同时在 data 的 zk1、zk2、zk2 目录中分别创建文件 myid,文件内容分别写入 1、2、3

# 数据存放目录 依次类推zk1 zk2 zk3dataDir=/home/cuiyaonan/data/zk1# 日志存放目录 依次类推log1 log2 log3dataLogDir=/home/cuiyaonan/logs/log1# 监听端口  依次类推2181 2182 2183clientPort=2181# 集群配置# server.x 分别对应myid文件的内容(每个 zoo.cfg 文件都需要添加)# 2287(通讯端口):3387(选举端口)# 因为是一个主机所以 通信端口和选举端口都要依次递增.server.1=localhost:2287:3387server.2=localhost:2288:3388server.3=localhost:2289:3389

 

    Zookeeper集群需要每台挨个启动。

    可以是用jps命令查看线程。

    启动集群的时候,集群数量启动没有超过一半,状态会有错误提示,当集群启动数量超过一半就会自动转为正常状态,并且此台使集群进入正常工作状态的服务器会成为leader角色,集群中其他服务器的角色为fllower。

#启动ZK服务: bin/zkServer.sh start#停止ZK服务: bin/zkServer.sh stop#重启ZK服务: bin/zkServer.sh restart#查看ZK服务状态: bin/zkServer.sh status

ZOOKEEPER监控程序

使用命令监控

[cuiyaonan2000@Master ~]$ echo 命令 | nc localhost 2181

其中 命令 可以替换成如下的内容:

  • conf: 打印ZooKeeper的配置信息
  • cons: 列出所有的客户端会话链接
  • crst: 重置所有的客户端连接
  • dump: 打印集群的所有会话信息,包括ID,以及临时节点等信息。用在Leader节点上才有效果。
  • envi: 列出所有的环境参数
  • ruok: "谐音为Are you ok"。检查当前服务器是否正在运行。
  • stat: 获取ZooKeeper服务器运行时的状态信息,包括版本,运行时角色,集群节点个数等信息。
  • srst: 重置服务器统计信息
  • srvr: 和stat输出信息一样,只不过少了客户端连接信息。
  • wchs: 输出当前服务器上管理的Watcher概要信息
  • wchc: 输出当前服务器上管理的Watcher的详细信息,以session为单位进行归组
  • wchp: 和wchc非常相似,但是以节点路径进行归组
  • mntr: 输出比stat更为详细的服务器统计信息

 

转载地址:http://mycmf.baihongyu.com/

你可能感兴趣的文章
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
决策树的python实现
查看>>
了解 Sklearn 的数据集
查看>>
如何选择优化器 optimizer
查看>>
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>