zookeeper 安装配置

zookeeper概念简介:

ZooKeeper集群是由多台机器组成的,每台机器都充当了特定的角色,各种角色在协作过程中履行自己的任务,从而对外提供稳定、可靠的服务。

  1. Zookeeper是为别的分布式程序服务

  2. Zookeeper\color{red}{本身就是一个分布式程序}(只要有半数以上节点存活,zk就能正常服务)

  3. Zookeeper所提供的服务涵盖:主从协调、服务器节点动态 上下线、统一配置管理、分布式共享锁、统一名称服务……

  4. 虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:
    \color{red}{管理(存储,读取)用户程序提交的数据}
    \color{red}{并为用户程序提供数据节点监听服务}

由上图可知,ZooKeeper集群由多台机器组成,客户端的请求有可能被分配给任何一台机器来处理。考虑下面一个场景:客户端A问机器1,现在几点了,机器1回答下午两点半;与此同时,客户端B问机器2,现在几点了,机器2说,凌晨三点。两个客户端一交流,发现路唇不对马嘴,整个世界就乱了。可见,ZooKeeper集群时刻需要保持内部统一,无论客户端连接哪台机器,给出的响应应该保持一致。

为了保证数据的一致性,ZooKeeper对机器进行了角色划分

在每台机器数据保持一致的情况下,ZooKeeper集群自然可以保证,对于每次查询都返回同样的结果。但是,如果客户端发起增、删、改这类会引起数据变动的请求呢?多台机器自说自话,你让往东,他让往西,你要打狗,他要撵鸡,听谁的?

正所谓,家有千口,主事一人。不管有多少台机器,只能有一台机器充当Leader的角色,只有Leader才有权力发起更改数据的操作,Follower如果接收到了更改数据的请求,需要转交给Leader来处理。

Leader接受到一个更改数据的请求后,会广播消息:

每个Follower请注意!现在颁布001号命令,对某个节点执行某项操作。收到请回答!

Follower按照Leader的要求执行完任务之后会,会发送一条消息:

老大老大,任务执行完毕!

一旦Leader收到了半数以上的Follower的确认消息,就判定该操作已生效,会再发一条广播:

每个Follower请注意!001号命令已生效!

https://cloud.tencent.com/developer/article/1031825


zookeeper安装:

zookeeper安装3步骤:下载,解压,配参数 就这么简单

# tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/mysoftware/
# mv zookeeper-3.4.13 zookeeper
  • 删除无用的目录与文件
//在安装根目录下
rm -rf src/ *.xml *.txt *.md

zookeeper配置:

  • 配置文件在conf文件夹下
    其中的zoo_sample.cfg不能直接使用它只是一个样本文件,需要重命名为zoo.cfg

sample 样品

cp zoo_sample.cfg zoo.cfg
  • vi zoo.cfg 配置
# 每个心跳周期的毫秒数
tickTime=2000
# 初始化阶段可以花去的心跳个数 (10个心跳单位)
initLimit=10
# 从返送请求到获得相应最长时间(5个心跳单位) 
# 超过时间认为对方挂了
syncLimit=5
# 数据\工作 目录
dataDir=/usr/mysoftware/Workspace/zookeeper
# 客户端请求的端口,~需要开放端口~
clientPort=2181

# 新增
# 配置集群中有几台机器
# 2888 Leader与Follower通信端口
# 3888 投票端口
# 为给集群服务器定义server.1 2 3编号 
# ~②需要在数据目录配置myid文件并定义编号1|2|3 ~
server.1=192.168.33.141:2888:3888
server.2=192.168.33.142:2888:3888
server.3=192.168.33.143:2888:3888
  • clientPort=2181 为客户端请求的端口,除此之外还有选举投票端口、Leader与Follower通信端口,后期还会有Hadoop、hive、storm等端口都需要防火墙开放 由于集群在内网中工作并不会暴漏给外界,所以直接关闭防火墙,在真实生产中也如此
#停止firewall防火墙
systemctl stop firewalld.service 
#禁止firewall开机启动
systemctl disable firewalld.service 
  • 根据server.1,server.2,server.3对应的服务器在每个数据目录下配置myid文件并给每个服务器编号1 2 3
cd /usr/mysoftware/Workspace/zookeeper
echo 1 > myid

常用命令

  • 启动:
    bin目录下执行 ./zkServer.sh start
    出现Starting zookeeper ... STARTED启动成功

  • 查看从、主状态: leader 为主 follower 为从
    ./zkServer.sh status

  • 停止:
    ./zkServer.sh stop

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