安装环境:

  jdk1.7

  zookeeper-3.4.10.tar.gz

  VM虚拟机redhat6.5-x64:192.168.1.200  192.168.1.201  192.168.1.202

  Xshell4

部署方案:

主机IP 集群通信端口 消息端口 节点目录
192.168.1.200 2888:3888 2181 /usr/local/zookeeper
192.168.1.201 2888:3888 2181 /usr/local/zookeeper
192.168.1.202 2888:3888 2181 /usr/local/zookeeper

三个几点安装前 检查时间是否同步,不同步使用ntpdate来同步。

第一步:解压 zookeeper-3.4.10.tar.gz

#解压
tar -zxvf zookeeper-3.4..tar.gz -C /usr/local
#修改目录名
mv zookeeper-3.4. zookeeper

第二步:配置zookeeper

ZK配置文件:
tickTime:发送心跳的间隔时间,单位:毫秒; dataDir:zookeeper保存数据的目录; clientPort:客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求; initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader的Follower服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 个心跳的时间(也就是 tickTime)长度后Zookeeper服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 *= 秒; syncLimit:这个配置项标识Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 *= 秒; server.A=B:C:D:
其中A是一个数字,表示这个是第几号服务器;
B是这个服务器的ip地址;
C表示的是这个服务器与集群中的Leader服务器交换信息的端口;
D表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于B都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号
#切换zookeeper配置文件目录
cd /usr/local/zookeeper/conf
#修改配置文件名 默认运行配置文件名 zoo.cfg
mv zoo_sample.cfg zoo.cfg
#编辑配置文件
vim zoo.cfg

修改配置一:

在/usr/local/zookeeper  创建目录data 用来存储集群节点信息(快照日志):包括zookeeper以及其他依赖zookeeper服务的集群

dataDir=/usr/local/zookeeper/data

在/usr/local/zookeeper  创建目录logs 用来存储事务日志

dataLogDir=/usr/local/zookeeper/logs

修改配置二:

zookeeper各节点

server.0=192.168.1.200:2888:3888
server.1=192.168.1.201:2888:3888
server.2=192.168.1.202:2888:3888

第三步:创建myid文件

在dataDir=/home/grid/zookeeper/data下创建myid文件 
编辑myid文件,并在对应的IP的机器上输入对应的编号。如在第一台zookeeper上,我们给该myid文件内容指定就是0,第二台上就是1....

修改zkEnv.sh  注明日志zookeeper.out目录

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/usr/local/zookeeper/logs/zookeeper/logs"
fi

修改 zkServer.sh 指定依赖的jdk

在原有代码之前加上

export JAVA_HOME=/usr/local/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH

第四步:配置环境变量

[root@ data]# vim /etc/profile
[root@ data]# source /etc/profile

第五步:启停zookeeper

[root@ local]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED #zk 的jps名称是QuorumPeerMain
[cluster@PCS101 conf]$ jps
QuorumPeerMain [cluster@PCS101 bin]$ ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /home/cluster/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

第六步:检查

#follower表示从服务器
[root@ conf]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
#leader表示主服务
[root@ local]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader
#客户端登录
zkCli.sh

第七步:检查集群存储各个节点信息,包括:Hadoop、Hbase、Storm、Kafka、activemq

方式一:eclipse插件

方式二:ZooInspector

具体参考:https://www.cnblogs.com/cac2020/p/9428255.html

zk运维:

问题1:查看日志zookeeper.log

2018-10-23 14:37:21,613 [myid:3] - ERROR [main:QuorumPeer@692] - Unable to load database on disk
java.io.IOException: The accepted epoch, 8c96 is less than the current epoch, 8cc7
at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:689)
at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:635)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:170)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:114)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)

然后无法启动

[cluster@PCS103 bin]$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/cluster/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

原因启动时根据快照恢复数据出错  ,解决办法将快照目录 version-2  备份version-2.bak 然后重启即可解决

zookeeper 安装以及集群搭建的更多相关文章

  1. zookeeper安装与集群搭建

    此处以centos系统下zookeeper安装为例,详细步骤可参考官网文档:zookeeper教程 一.单节点部署 1.下载zookeeper wget http://mirrors.hust.edu ...

  2. zookeeper及kafka集群搭建

    zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...

  3. 【运维技术】Zookeeper单机以及集群搭建教程

    Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...

  4. Zookeeper 安装及集群配置注意点

    Zookeeper在ubuntu下安装及集群搭建,关于集群搭建,网上很多文章 可以参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-z ...

  5. 基于zookeeper的Swarm集群搭建

    简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台 ...

  6. Zookeeper简介与集群搭建【转】

    Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...

  7. zookeeper 安装及集群

    一.zookeeper介绍 zookeeper是一个中间件,为分布式系统提供协调服务,可以为大数据服务,也可以为java服务. 分布式系统,很多计算机组成一个整体,作为一个整体一致对外并处理同一请求, ...

  8. ActiveMQ此例简单介绍基于docker的activemq安装与集群搭建

    ActiveMQ拓展连接 此例简单介绍基于Docker的activemq安装与集群搭建 一 :安装 1.获取activemq镜像 docker pull webcenter/activemq 2.启动 ...

  9. Redis单机安装以及集群搭建

    今天主要来看一下Redis的安装以及集群搭建(我也是第一次搭建). 环境:CentOS 7.1,redis-5.0.7 一.单机安装 1.将Redis安装包放置服务器并解压 2.进入redis安装目录 ...

随机推荐

  1. 改变presentModalView大小

    rc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; rc.modalPresentationStyle = UIModalP ...

  2. Dockerfile创建镜像

    Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像. Dockerfile由一行行命令语句组成,并且支持易#开头的注释行. 一般而言Dockerfil ...

  3. NET中的设计模式---单件模式

    如众所知,单件模式做为<Gof 23中设计模式>之一,其意图仅允许单件类的一个实例存在(扩展单件模式不在此文范围内),并提供全局的访问方法.UML类图如下. http://csharpin ...

  4. 【BZOJ2658】[Zjoi2012]小蓝的好友(mrx) 平衡树维护笛卡尔树+扫描线

    [BZOJ2658][Zjoi2012]小蓝的好友(mrx) Description 终于到达了这次选拔赛的最后一题,想必你已经厌倦了小蓝和小白的故事,为了回馈各位比赛选手,此题的主角是贯穿这次比赛的 ...

  5. Core Data 迁移与版本管理

    原文  http://chun.tips/blog/2014/11/28/core-data-ban-ben-qian-yi-jing-yan-zong-jie/ 主题 Core DataiOS开发 ...

  6. Spring Cloud Eureka 服务消费者

    参考<spring cloud 微服务实战> 现在已经构建了服务注册中心和服务提供中心,下面就来构建服务消费者: 服务消费者主要完成:发现服务和消费服务.其中服务的发现主要由Eureka的 ...

  7. Angular打开页面隐藏显示表达式

    1.使用 ng-cloak, 同时要在css加入一行 [ng-cloak] {display: none;} 样式 [ng:cloak], [ng-cloak], [data-ng-cloak], [ ...

  8. Shell case

    case 值 in模式1) command1 command2 command3 ;;模式2) command1 command2 command3 ;;*) command1 command2 co ...

  9. 8.30前端jQuery和数据结构知识

    2018-8-30 16:37:17 单链表的demo 从俺弟家回来了! 发现,还是要努力学习是很重要的!!努力学习新的感兴趣的东西!! 多读书还是很重要的!!! 越努力,越幸运! # coding: ...

  10. 二步实现 远程连接 阿里云SqlServer 2012 数据库服务器

    前言:在使用 阿里云 上的一些产品时,遇到不少坑. 安装IIS 时,遇到 因买的配置过低,虚拟内存不足,而导致 IIS 总是安装失败: 现在 在上面安装了个 Sql Sever 2012,远程老是 不 ...