文档章节

zookeeper单机伪集群配置

brianway
 brianway
发布于 2016/06/29 21:00
字数 1308
阅读 75
收藏 5

zookeeper单机伪集群配置

标签 :zookeeper


[TOC]


本文对zookeeper做简单介绍,分享查阅时搜集的一些好的链接,并以最新的稳定版zookeeper-3.4.8为例,对单机模式和伪分布式的部署步骤做记录和说明。

zookeeper简介

Zookeeper 分布式服务框架是曾Apache Hadoop的一个子项目,现在是一个独立的顶级项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

通读下面几个链接,可以对zookeeper有个大致了解

单机单server运行

基本上照着ZooKeeper Getting Started Guide走一遍就OK了,这里简单描述下步骤

  1. 环境要求:各种系统都行,java 1.6+
  2. 下载压缩包,解压
  3. 把解压目录下conf/zoo_sample.cfg复制一份在同目录下,重命名为zoo.cfg,dataDir属性可设置成别的
  4. 执行解压目录下的bin/zkServer.sh start开启zookeeper
  5. 执行解压目录下的bin/zkCli.sh -server 127.0.0.1:2181连接zookeeper

这时可以看到连接成功和一些欢迎信息,如果日志选项没改的话,默认是INFO级别,所以会在控制台看到一些日志输出,至此,已经运行成功,可以输入help查看帮助命令,试着玩一玩ls,create,get,set,delete等命令体验下

伪分布式

官网对分布式讲的不是很详细,这里简单记录一下

大体流程就是把压缩包解压三份,每份单独配置conf/zoo.cfg,并在dataDir对应的目录下添加一个只含数字的文本文件myid表明自己是哪台服务器。

  • 部署规模为3的单机伪机群

以我的电脑为例,我新建了一个根目录zookeeper,并在该目录下分别新建了三个文件夹:server0,server1,server2,然后在每个文件夹解压zookeeper的压缩包,并另外新建datalogs文件夹来分别存放数据和日志,目录结构如下:

.
├── server0
│   ├── data
│   ├── logs
│   └── zookeeper-3.4.8
├── server1
│   ├── data
│   ├── logs
│   └── zookeeper-3.4.8
└── server2----

> 作者[@brianway](http://brianway.github.io/)更多文章:[个人网站](http://brianway.github.io/) `|` [CSDN](http://blog.csdn.net/h3243212/) `|` [oschina](http://my.oschina.net/brianway)

    ├── data
    ├── logs
    └── zookeeper-3.4.8

然后在每个data目录下创建一个myid的文件(另外两个文件是运行后自动生成的,开始没有),里面写入一个数字,这个数字和配置文件里的一致

mi@mi-OptiPlex-9020:~/MyPrograms/zookeeper/server0/data$ cat 
myid                  version-2/            zookeeper_server.pid
mi@mi-OptiPlex-9020:~/MyPrograms/zookeeper/server0/data$ cat myid 
0

配置conf/zoo.cfg,比如我的server0目录下的配置文件,其他几个类似:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/mi/MyPrograms/zookeeper/server0/data
dataLogDir=/home/mi/MyPrograms/zookeeper/server0/logs
# the port at which the clients will connect
clientPort=2180

## 单机集群
server.0=127.0.0.1:2880:3880
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882

server.A=B:C:D:其中 A 是一个数字,就是myid里的那个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址,C和D是两个端口。

两个端口的作用,官网描述如下:

Finally, note the two port numbers after each server name: " 2888" and "3888". Peers use the former port to connect to other peers. Such a connection is necessary so that peers can communicate, for example, to agree upon the order of updates. More specifically, a ZooKeeper server uses this port to connect followers to the leader. When a new leader arises, a follower opens a TCP connection to the leader using this port. Because the default leader election also uses TCP, we currently require another port for leader election. This is the second port in the server entry.

简单来说,第一个端口用来集群成员的信息交换以及与集群中的Leader 服务器交换信息,第二个端口是在leader挂掉时专门用来进行选举leader所用。

因为是伪分布式,所以dataDir,clientPort也不一样,同时C,D两个端口也不能相同。

  • 启动ZooKeeper伪机群的所有服务器

分别进入三个服务器文件夹的解压目录的/bin目录下,启动服务:

bin/zkServer.sh start
  • 接入客户端

进入解压目录的/bin目录下(3个server中任意一个),连接任意一个服务器,比如我就是进入了server2的目录下,连接的server0

bin/zkCli.sh  -server 127.0.0.1:2180

运行截图

zookeeper_单机集群运行截图

参考链接


作者@brianway更多文章:个人网站 | CSDN | oschina

© 著作权归作者所有

上一篇: docker入门概览
brianway
粉丝 334
博文 97
码字总数 130139
作品 0
武汉
后端工程师
私信 提问
加载中

评论(2)

brianway
brianway 博主

引用来自“aspboy”的评论

不错
感谢支持
aspboy
aspboy
不错
ZooKeeper的伪分布式集群搭建以及真分布式集群搭建

zk集群的一些基本概念 zookeeper集群搭建: zk集群,主从节点,心跳机制(选举模式) 配置数据文件 myid 1/2/3 对应 server.1/2/3 通过 zkCli.sh -server [ip]:[port] 命令检测集群是否配置成...

ZeroOne01
2018/04/24
0
0
安装ZooKeeper(单机、伪集群、集群)

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

qq_27264789
2018/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......

快乐的小火柴
2018/08/22
46
0
ZooKeeper进阶(二):ZooKeeper的运行

ZooKeeper进阶(二):ZooKeeper的运行 本文主要介绍下Zookeeper单机模式、集群模式、集群伪分布模式运行。 单机模式 Linux用户可以通过下面的命令来启动 ZooKeeper 服务: Windows用户可以通...

sunhuaqiang1
2018/04/22
0
0
Zookeeper 安装和配置

Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍. 单机模式 点击这里下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的c...

引鸩怼孑
2015/05/04
58
0

没有更多内容

加载失败,请刷新页面

加载更多

从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
4
0
程序性能checklist

程序性能checklist

Moks角木
昨天
6
0
VUE 计算属性

本文转载于:专业的前端网站▶VUE 计算属性 1、示例代码 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <title>vue示例</title> </hea......

前端老手
昨天
5
0
快速搭建LNMT平台和环境部署 Tomcat详解

Tomcat部署的基本概念 1. CATALINA_HOME与CATALINA_BASE分别指什么?     CATALINA_HOME指的是Tomcat的安装目录     bin:\\Tomcat一些脚本存放目录,比如启动脚本startup.bat/start...

网络小虾米
昨天
6
0
float浮动

float浮动 float浮动概念及原理: 文档流:文档流是文档中可显示对象在排列时所占用的位置。 加浮动的元素,会脱离文档流,会沿父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动...

studywin
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部