zookeeper原理可以参考 https://www.cnblogs.com/wuxl360/p/5817471.html

zookeeper是一个为分布式应用提供一致性服务的软件。

下载地址:

http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/

下载后解压到指定目录,然后更改conf文件夹下的zoo_sample.cfg为zoo.cfg

因为启动的时候读取的就是zoo.cfg

使用vim zoo.cfg查看一下:

# 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=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181

注意:dataDir=/tmp/zookeeper这个文件夹得事先存在。也同样可以配置log文件位置。

./zkServer.sh start 启动一下试试:

[root@localhost bin]# ./zkServer.sh start
JMX enabled by default
Using config: /apps/zookeeper-3.4.5-cdh5.7.0/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost bin]# jps
4993 QuorumPeerMain
5021 Jps
[root@localhost bin]#

也可以通过 ps -ef|grep zookeeper

[root@localhost bin]# ps -ef|grep zookeeper
root       4993      1  1 08:52 pts/2    00:00:01 java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /apps/zookeeper-3.4.5-cdh5.7.0/bin/../build/classes:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../build/lib/*.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/zookeeper-3.4.5-cdh5.7.0.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/slf4j-log4j12-1.7.5.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/slf4j-api-1.7.5.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/netty-3.2.2.Final.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/log4j-1.2.16.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/jline-2.11.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../src/java/lib/*.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /apps/zookeeper-3.4.5-cdh5.7.0/bin/../conf/zoo.cfg
root       5067   4034  0 08:54 pts/2    00:00:00 grep zookeeper
[root@localhost bin]#

我们使用zkCli.sh 连接一下:

[root@localhost bin]# ./zkCli.sh
Connecting to localhost:2181
2019-01-11 09:07:08,835 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.5-cdh5.7.0--1, built on 03/23/2016 18:31 GMT
2019-01-11 09:07:08,839 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=localhost
2019-01-11 09:07:08,839 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_162
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/java/jdk1.8.0_162/jre
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/apps/zookeeper-3.4.5-cdh5.7.0/bin/../build/classes:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../build/lib/*.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/zookeeper-3.4.5-cdh5.7.0.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/slf4j-log4j12-1.7.5.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/slf4j-api-1.7.5.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/netty-3.2.2.Final.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/log4j-1.2.16.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../share/zookeeper/jline-2.11.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../src/java/lib/*.jar:/apps/zookeeper-3.4.5-cdh5.7.0/bin/../conf:
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=2.6.32-431.el6.x86_64
2019-01-11 09:07:08,842 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2019-01-11 09:07:08,844 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2019-01-11 09:07:08,844 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/apps/zookeeper-3.4.5-cdh5.7.0/bin
2019-01-11 09:07:08,846 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3eb07fd3
Welcome to ZooKeeper!
2019-01-11 09:07:08,894 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@975] - Opening socket connection to server localhost/172.16.205.88:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2019-01-11 09:07:09,008 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@852] - Socket connection established, initiating session, client: /172.16.205.88:40481, server: localhost/172.16.205.88:2181
[zk: localhost:2181(CONNECTING) 0] 2019-01-11 09:07:09,071 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1235] - Session establishment complete on server localhost/172.16.205.88:2181, sessionid = 0x1683dd457b30000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null
这里我们输入help

help 查看客户端帮助命令:

help
ZooKeeper -server host:port cmd argsstat path [watch]set path data [version]ls path [watch]delquota [-n|-b] pathls2 path [watch]setAcl path aclsetquota -n|-b val pathhistory redo cmdnoprintwatches on|offdelete path [version]sync pathlistquota pathrmr pathget path [watch]create [-s] [-e] path data acladdauth scheme authquit getAcl pathclose connect host:port
[zk: localhost:2181(CONNECTED) 1] 

使用ls 查看一下节点:我们看到有个默认的zookeeper节点。

[zk: localhost:2181(CONNECTED) 8] ls /zookeeper
[quota]
[zk: localhost:2181(CONNECTED) 9] ls /zookeeper/quota
[]
[zk: localhost:2181(CONNECTED) 10]

 get 获取节点数据和更新信息

get内容为空
cZxid :创建节点的id
ctime : 节点的创建时间
mZxid :修改节点的id
mtime :修改节点的时间
pZxid :子节点的id
cversion : 子节点的版本
dataVersion : 当前节点数据的版本
aclVersion :权限的版本
ephemeralOwner :判断是否是临时节点
dataLength : 数据的长度
numChildren :子节点的数量

create /guang 我是测试 (创建一个节点名字是guang,内容是 "我是测试")

create -e  /guangtest 我是临时测试 (创建一个临时节点名字是guangtest,内容是 "我是临时测试")

create -s 创建顺序节点 自动累加

set path data [version] 修改节点

delete path [version] 删除节点

watcher通知机制

关于watcher机制大体的理解可以为,当每个节点发生变化,都会触发watcher事件,类似于mysql的触发器。zk中 watcher是一次性的,触发后立即销毁。可以参考https://blog.csdn.net/hohoo1990/article/details/78617336
- stat path [watch] 设置watch事件
- get path [watch]设置watch事件
- 子节点创建和删除时触发watch事件,子节点修改不会触发该事件

、、、待更新

Zookeeper在Linux中的安装与配置相关推荐

  1. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  2. Linux中Nginx安装与配置详解及常见问题

    3 Nginx安装 3.1 安装前的准备     1)准备 pcre-8.12.tar.gz.该文件为正则表达式库.让nginx支持rewrite需要安装这个库.     2) 准备 nginx-1. ...

  3. RealVNC Home版本在Linux中的安装与配置

    版本:VNC-Server-6.3.2-Linux-x64 系统:deepin 15.7 桌面版 个人认为RealVNC是同类软件中比较好用的,我很是喜欢他的云连接功能,只要被连接的电脑能够访问Int ...

  4. Linux中Apache安装与配置

    在CentOS 上安装Apache Apache在默认的CentOS存储库中可用,并且安装非常简单.为了安装Apache Web Server,首先通过运行以下命令更新本地软件包 在基于RHEL的发行 ...

  5. 低配置系统安装 linux,Linux系统的安装和配置

    Linux系统的安装和配置 更新时间:2006年10月24日 00:00:00   作者: Linux,在今天的广大电脑玩家耳中已经不再是那个曾经陌生又遥远的名字,大家提起Linux时,不再是把它当做 ...

  6. qt打包rpm时候先安装其他软件_云计算学习路线图素材课件,Linux中软件安装的方式...

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  7. _云计算学习路线图素材课件,Linux中软件安装的方式

    很多初学者感觉云计算就是一个听起来比较高大上的名词,每次想要了解它的时候都像是雾里看花,迷迷糊糊看不真切,至于它是干什么的就更不了解了,其实云计算学起来在IT行业中还是比较容易上手的,接下来我给大家分 ...

  8. linux安装DNS服务命令,Linux下的安装和配置DNS服务器

    Linux下的安装和配置DNS服务器 发布时间:2008-09-08 17:03:00   作者:佚名   我要评论 在Linux操作系统中使用BIND (Berkeley Internet Name ...

  9. KALI Linux中GURB安装失败如何处理

    KALI  Linux中GURB安装失败如何处理 # GRUB安装失败 # 无法将grub-pc软件包安装到/target/中,如果没有GRUB启动引导器,所安装的系统将无法启动. 解决办法: 点击返 ...

最新文章

  1. [导入]★ 你知道JavaScript里数组的最大长度允许多少吗 ★
  2. js 月份加6个月_12月AHA HS大众急救认证培训22个城市报名开启!2021年1~6月份课程预售限时开启!!...
  3. Laplacian Eigenmaps 拉普拉斯特征映射
  4. mysql 相除 取整数位,psql除法保留小数,实现向上取整和向下取整操作_PostgreSQL_数据库...
  5. springboot 静态注入 单例
  6. JAVA基础学习大全(笔记)
  7. 自动化环境部署工具的编写
  8. 【Spark】reduceByKey和GroupByKey
  9. C语言学习笔记---指针和数组
  10. Linux下的sniffer工具--Tcpdump的安装和使用
  11. CPU调度算法——FCFS算法/SJF算法/优先级调度算法/RR算法
  12. Linux 命令(129)—— passwd 命令
  13. matlab求解集合覆盖问题,Set Cover Problem (集合覆盖问题)
  14. 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
  15. otsu结合OpenCV实现灰度图像自动阈值处理
  16. 罗技鼠标驱动怎么设置宏?
  17. SVN客户端安装及操作文档
  18. bootice 修改ubuntu win10 系统引导在一个硬盘上时的系统启动顺序
  19. 回顾来路,不忘初心;心之所向,砥砺前行
  20. 移动视频录传-公网对讲APP-MCP常见操作说明

热门文章

  1. java基于web的自行车租赁系统ssh
  2. uniapp 语音合成(TTS)没有声音
  3. 用AidLux跑老人摔倒检测项目,看AI助老轻松落地
  4. yaahp使用教程_[层次分析法(详解)] yaahp层次分析法教程
  5. 2021年中国中华遗嘱库义工志愿者区域分布、职业分布、举办公益普法讲座次数、自我教育培训次数、人次及占比[图]
  6. 3ds模型在OpenGL中的读取和重绘
  7. 王者荣耀7月4号服务器维护,王者荣耀7月4日更新维护公告 更新内容汇总
  8. 解决M1芯片无法安装AE闪退问题,AEcc2021中文直装版兼容M1芯片安装教程 M1安装方案
  9. 防御 CSS 黑客——介绍“安全的 CSS hacks”
  10. HTML第三次作业——Tab切换和轮播图