文档章节

mac安装zookeeper伪集群

徐学良
 徐学良
发布于 2017/04/09 11:06
字数 1130
阅读 29
收藏 1

目录 
一、 配置 
二、 启动zookeeper伪集群的所有服务器 
三、 接入客户端 
四、编写启动脚本

一、 配置

zookeeper下载地址:http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/ 
在一台机器上部署3个server,在指定文件夹下建立一个文件夹zookeeperLab,在zookeeperLab文件夹里建立三个文件夹server1, server2, server3,然后每个文件夹里面解压一个zookeeper下载包,并且还建立几个文件夹,总体结构如下: 
data,dataLog, logs,zookeeper-3.4.6 
1. 进入data目录,创建一个名为myid的文件,里面写入一个数字,比如该目录为server1,那么就写一个1,server2对应的myid文件就写入2,server3对应的myid文件就写入3。 
2. 进入zookeeper-3.4.6/conf目录,将zoo_sample.cfg文件copy改为zoo.cfg,打开zoo.cfg,内容如下:

conf  cat zoo.cfg
# The number of milliseconds of each tick
#控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
#initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
#syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/Users/duwei/software/zookeeperLab/server1/data
dataLogDir=/Users/duwei/software/zookeeperLab/server1/dataLog
# the port at which the clients will connect
#客户端连接端口
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
  •  

注意:

  1. clientPort这个端口如果你是在1台机器上部署多个server,那么每台机器都要不同的clientPort,比如server1是2181,server2是2182,server3是2183,dataDir和dataLogDir也需要区分下。
  2. 最后几行需要注意就是server.X这个数字就是对应data/myid中的数字。你在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配置server.1,server.2,server3就OK了。因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。
  3. server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

二、 启动zookeeper伪集群的所有服务器

分别进入三个服务器的zookeeper-3.4.6/bin目录下,启动服务

sh zkServer.sh start
  •  

启动完成后,查看服务器状态

sh zkServer.sh status
  •  

三、 接入客户端

进入任意一个服务器的zookeeper/bin目录下,启动一个客户端,接入服务。

./zkCli.sh –server localhost:2181 
  •  

四、编写启动脚本

vi zkCluster.sh

#!/bin/sh
zkpath=/Users/duwei/software/zookeeperLab
returnValue=0
cd $zkpath
pid=`ps -ef |grep -v "grep"|grep "zookeeperLab/server" |awk '{print $2}'`
start(){
    sh ./server1/zookeeper-3.4.6/bin/zkServer.sh start
    sh ./server2/zookeeper-3.4.6/bin/zkServer.sh start
    sh ./server3/zookeeper-3.4.6/bin/zkServer.sh start
}
stop(){
    kill -9 ${pid}
}
case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
hup)
    hup
    ;;
*)
    printf 'Usage: %s {start|stop|restart}\n'
    exit 1
    ;;
esac
exit "$returnValue"

本文转载自:http://blog.csdn.net/u013673245/article/details/49331607

共有 人打赏支持
徐学良
粉丝 23
博文 213
码字总数 13841
作品 0
浦东
程序员
私信 提问
安装ZooKeeper(单机、伪集群、集群)

安装ZooKeeper(单机、伪集群、集群)博客分类: 大数据平台架构移动互联网 关键字:安装ZooKeeper(单机、伪集群、集群) 推荐学习列表: zookeeper jvm设置:http://www.th7.cn/Program/j...

qq_27264789
04/17
0
0
Zookeeper在windows下的单机模式安装

安装jdk 安装Zookeeper. 在官网http://zookeeper.apache.org/下载zookeeper.我下载的是zookeeper-3.4.12版本。 解压zookeeper-3.4.6至D:machinezookeeper-3.4.12. 在D:machine 新建data及log......

快乐的小火柴
08/22
0
0
ZooKeeper伪分布式集群安装及使用

前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品。在单机中,系统协作大都是进程级的操作。分布式系统中,服务协作都是跨服务器才能完成的。在ZooKeeper之前,我们对于协作服务大...

_夏天的风_
2014/08/25
0
0
ZooKeeper伪分布式集群安装及使用

ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务。 现在硬件越来越便宜,一台...

张升强
2013/10/31
0
1
ZooKeeper伪分布式集群安装

获取ZooKeeper安装包 下载地址:http://apache.dataguru.cn/zookeeper 选择一个稳定版本进行下载,我这里下载的是zookeeper-3.4.6版本。 ZooKeeper伪分布式集群安装 伪分布式集群:在一台Ser...

蔡佳娃
2015/03/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

结合lucene谈谈日期的压缩问题

说起日期值的压缩,一般容易想到的办法是将日期转化成long类型,然后再通过变长整形进行压缩,我算了一下按照毫秒来算最多占用5个字节(可以通过“谈谈变长整型”中的表查看),确实节省了部...

FAT_mt
31分钟前
0
0
导出私有函数与私有变量

在Go语言中, package中包含函数与变量通过identifier的首字母是否大写来决定它是否可以被其它package所访问。当一个函数或变量名称为小写字母时,默认是无法被其他package引用的. 有没有办法...

xtof
31分钟前
0
0
new Date() 在Safari下的 Invalid Date问题

问题复现 var timeStr = '2018-11-11 00:00:00';var time = new Date(timeStr);// error: Invalid Date... 在safari浏览器下,time为Invalid Date, 导致后面代码执行错误; 其他浏览器诸...

会写代码的husky
36分钟前
2
0
0009-如何升级Cloudera Manager和CDH

1.文档编写目的 本文档讲述如何升级Cloudera Manager和CDH,通过本文档,您将学习到以下知识: 1.如何对Cloudera Manager进行停机升级 2.如何对CDH进行停机升级 3.如何在不影响集群作业的情况...

Hadoop实操
46分钟前
1
0
vue2中引用 better-scroll的方法

文章主要介绍了vue2中引用better-scroll和使用 better-scroll的方法,使用时有三个要点及注意事项在文中给大家详细介绍 ,需要的朋友可以参考下 使用时有三个要点: 一:html部分 <div class...

前端攻城老湿
56分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部