Zookeeper分布式集群部署

Zookeeper官方架构图解析

zookeeper.png
  1. zookeeper最少为三台且必须为奇数(3、5、7···)。
  2. 多个zookeeper服务器工作前会选举出一个节点作为leader(为了保持数据的一致性),其余的节点作为follower,如果这个leader节点宕掉,剩下的zookeeper服务器会知道这个leader宕掉,从而在剩余的节点中再选举出一个leader。
  3. zookeeper正常工作的前提是所有节点时间必须同步。

Zookeeper数据结构解析

shujujiegou.png
  1. zookeeper维护一个和文件系统类似的数据结构;zookeeper集群中的每个节点都被路径唯一标识。
  2. 为了较快的读取速度,zookeeper中的数据都会v存放在JVM内存中。

搭建Zookeeper集群前的准备

  1. 配置SSH无秘钥登录。
    先在一台机器上生成公钥和秘钥。

[wulei@bigdata-00 ~]$ ssh-keygen -t rsa

分发公钥到另外两太机器。

[wulei@bigdata-00 ~]$ ssh-copy-id bigdata-01
[wulei@bigdata-00 ~]$ ssh-copy-id bigdata-02

为了方便三台机器的互相登录,在其余两台做同样的操作。

  1. 集群时间的同步。(Zookeeper正常工作的前提)
    在集群中找一台服务器作为时间服务器,开启服务并进行相应的配置

[wulei@bigdata-01 ~]$ sudo /etc/init.d/ntpd status
ntpd (pid 1724) is running...
[wulei@bigdata-01 ~]$ sudo vim /etc/ntp.conf
#修改如下
#Hosts on local network are less restricted.
restrict 192.168.200.0 mask 255.255.255.0 nomodify notrap
#修改如下
#Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#添加如下
server 127.127.1.0 #local clock
fudge 127.127.1.0 stratum 10

在三太服务器上为同步时间设置定时任务(crontab -e)

#time server
*/5 * * * * /usr/sbin/ntpdate bigdata-01 >/dev/null 2>&1

检验三台服务器时间是否同步

date1.png

date2.png

date3.png

修改BIOS时间与操作系统时间同步

[wulei@bigdata-00 ~]$ sudo vim /etc/sysconfig/ntpd
#添加如下内容
SYNC_HWCLOCK=yes

正式搭建Zookeeper集群

  1. 解压Zookeeper包后并配置
  • 创建zookeeper存放数据的目录

[wulei@bigdata-00 app]$ mkdir -p zookeeper-3.4.6/data/zkDate
[wulei@bigdata-00 zkDate]$ pwd
/opt/app/zookeeper-3.4.6/data/zkDate

  • 修改配置文件中数据存储的目录。首先拷贝一份 conf/zoo_sample.cfg 并重命名为 zoo.cfg

[wulei@bigdata-00 zookeeper-3.4.6]$ mv conf/zoo_sample.cfg conf/zoo.cfg
[wulei@bigdata-00 zookeeper-3.4.6]$ vim conf/zoo.cfg
#修改如下
dataDir=/opt/app/zookeeper-3.4.6/data/zkDate

  • 在配置文件中增加分布式节点。其中2888为监听端口,3888为选举的通信端口。

server.1=bigdata-00:2888:3888
server.2=bigdata-01:2888:3888
server.3=bigdata-02:2888:3888

  1. 将Zookeeper分发到其他两台机器上后分别在各自的数据存储目录下创建myid文件,标记所在机器的编号。

[wulei@bigdata-00 zkDate]$ cat myid
1
[wulei@bigdata-01 zkDate]$ cat myid
2
[wulei@bigdata-02 zkDate]$ cat myid
3

  1. 启动三个节点的Zookeeper进程

[wulei@bigdata-00 zookeeper-3.4.6]$ bin/zkServer.sh start
JMX enabled by default
Using config: /opt/app/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

  1. 查看三个节点的模式状态。看那一台是leader,那两台是follower


    f1.png

    f2.png

    f3.png
  2. 用Zookeeper客户端连接服务端以及基本命令的使用

[wulei@bigdata-00 zookeeper-3.4.6]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 2] create /test "wulei"
Created /test
[zk: localhost:2181(CONNECTED) 3] ls /
[zookeeper, test]
[zk: localhost:2181(CONNECTED) 4] get /test
"wulei"
[zk: localhost:2181(CONNECTED) 5] rmr /test
[zk: localhost:2181(CONNECTED) 8] ls /
[zookeeper]

  1. 在一个节点上创建一个文件,然后查看三个zookeeper节点数据是否同步


    t1.png

    t2.png

    t3.png

刚开始学写博客,希望能被指出博客中的不足。
欢迎和我交流技术

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容