zk的单机部署,与客户端的使用
下载zk
wget https://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.5.5-bin.tar.gz
安装jdk
tar xf jdk-12.0.2_linux-x64_bin.tar.gz -C /usr/local/
vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
ln -s /usr/local/jdk-12.0.2 /usr/local/jdk
部署zk
mkdir /data/zk -pv
tar xf apache-zookeeper-3.5.5-bin.tar.gz -C /data/zk/
cp /data/zk/apache-zookeeper-3.5.5-bin/bin/../conf/zoo_sample.cfg /data/zk/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
创建数据目录 mkdir /data/zk/data
[root@master conf]# 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=/data/zk/data 数据目录
# 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
配置zk的环境变量
[root@master conf]# vim /etc/profile.d/zk.sh export ZOOKEEPER_HOME=/data/zk/apache-zookeeper-3.5.5-bin
export ZOOBINDIR=/data/zk/apache-zookeeper-3.5.5-bin/bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH [root@master conf]# exec bash
启动
[root@master conf]# zkServer.sh start
客户端登录
[root@master conf]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0] help 帮助
ZooKeeper -server host:port cmd args
addauth scheme auth
close
config [-c] [-w] [-s]
connect host:port
create [-s] [-e] [-c] [-t ttl] path [data] [acl]
delete [-v version] path
deleteall path
delquota [-n|-b] path
get [-s] [-w] path
getAcl [-s] path
history
listquota path
ls [-s] [-w] [-R] path
ls2 path [watch]
printwatches on|off
quit
reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
redo cmdno
removewatches path [-c|-d|-a] [-l]
rmr path
set [-s] [-v version] path data
setAcl [-s] [-v version] [-R] path acl
setquota -n|-b val path
stat [-w] path
sync path
Command not found: Command not found help
[zk: localhost:2181(CONNECTED) 1] create /app4 创建node
Created /app4
[zk: localhost:2181(CONNECTED) 2] create /app4/p-1
Created /app4/p-1
[zk: localhost:2181(CONNECTED) 3] create /app4/p-2
Created /app4/p-2
[zk: localhost:2181(CONNECTED) 4] create /app4/p-3
Created /app4/p-3
[zk: localhost:2181(CONNECTED) 5] ls -R / 查看node
/
/app1
/app2
/app4
/zookeeper
/app1/p_1
/app1/p_2
/app1/p_3
/app4/p-1
/app4/p-2
/app4/p-3
/zookeeper/config
/zookeeper/quota
客户端创建分布式锁
[zk: localhost:2181(CONNECTED) 6] create -e /log
Created /log
[root@master data]# zkCli.sh
[zk: localhost:2181(CONNECTED) 2] create -e /log
Node already exists: /log
[zk: localhost:2181(CONNECTED) 3] stat -w /log 监控这个锁
cZxid = 0x14
ctime = Wed Sep 11 16:31:46 CST 2019
mZxid = 0x14
mtime = Wed Sep 11 16:31:46 CST 2019
pZxid = 0x14
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x100014034170002
dataLength = 0
numChildren = 0
退出第一个客户端;释放锁
[zk: localhost:2181(CONNECTED) 7] quit WATCHER:: WatchedEvent state:Closed type:None path:null
2019-09-11 16:35:02,053 [myid:] - INFO [main:ZooKeeper@1422] - Session: 0x100014034170002 closed
2019-09-11 16:35:02,053 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@524] - EventThread shut down for session: 0x100014034170002
释放锁后
[zk: localhost:2181(CONNECTED) 4]
WATCHER:: WatchedEvent state:SyncConnected type:NodeDeleted path:/log [zk: localhost:2181(CONNECTED) 4] create -e /log 第二的
Created /log
zk的单机部署,与客户端的使用的更多相关文章
- Kafka记录-Kafka简介与单机部署测试
1.Kafka简介 kafka-分布式发布-订阅消息系统,开发语言-Scala,协议-仿AMQP,不支持事务,支持集群,支持负载均衡,支持zk动态扩容 2.Kafka的架构组件 1.话题(Topic) ...
- ETL作业调度软件TASKCTL4.1单机部署
单机部署,实际上就是将EM节点和一个Server节点安装到同一个地方.EM节点是TASKCTL服务端的最顶层,主要负责客户端与服务端之间的通信.Server节点是TASKCTL的调度服务控制层,也有A ...
- Hadoop生态圈-CentOs7.5单机部署ClickHouse
Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...
- Zookeeper(一)-- 简介以及单机部署和集群部署
一.分布式系统 由多个计算机组成解决同一个问题的系统,提高业务的并发,解决高并发问题. 二.分布式环境下常见问题 1.节点失效 2.配置信息的创建及更新 3.分布式锁 三.Zookeeper 1.定义 ...
- RocketMQ 消息队列单机部署及使用
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51086876 相关文章: <RocketMQ 消息队列单机部署及使用> ...
- Minikube之Win10单机部署Kubernetes(k8s)自动化容器操作的开源平台
Minikube之Win10单机部署 Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作.如果你曾经用过Docker部署容器,那么可以 ...
- redission-tomcat:快速实现从单机部署到多机部署
原文地址: http://blog.jboost.cn/2019/06/29/session-redis.html 一些项目初期出于简单快速,都是做单机开发与部署,但是随着业务的扩展或对可用性要求的提 ...
- Clickhouse单机部署以及从mysql增量同步数据
背景: 随着数据量的上升,OLAP一直是被讨论的话题,虽然druid,kylin能够解决OLAP问题,但是druid,kylin也是需要和hadoop全家桶一起用的,异常的笨重,再说我也搞不定,那只能 ...
- linux单机部署kafka(filebeat+elk组合)
filebeat+elk组合之kafka单机部署 准备: kafka下载链接地址:http://kafka.apache.org/downloads.html 在这里下载kafka_2.12-2.10 ...
随机推荐
- 怎么把项目发布到github上
方法一:在github上新建一个项目,然后在本地任意个文件夹(最好新建)右键 git bash here ,再之后 git clone https://github.com/CKTim/BlueT ...
- 阻塞队列BlockingQueue之ASynchronousQueue
一.SynchronousQueue简介 Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除 ...
- 修改centos history记录数上限
修改/etc/profile [root@ ~]# sed -i 's/^HISTSIZE=1000/HISTSIZE=200/' /etc/profile [root@ ~]# source /et ...
- HTML5学习(6)a元素
a元素代表超链接 href属性 hyper reference:通常代表跳转地址 target属性:_self在本窗口中打开(默认),_blank在新窗口中打开. id属性:全局属性,表示元素在文档中 ...
- Django的安装、使用详解、自动化测试应用以及程序打包
1.Django的安装 pip install Django 验证 Django 是否能被 Python 识别 >>> import django >>> prin ...
- python笔记17
1.今日内容 迭代器(3*) 生成器(4*) 装饰器(5*) 项目结构 logging模块 2.内容回顾 & 作业 2.1 内容回顾 2.1.1 函数(内置/自定义) 基本函数结构 def f ...
- 线索二叉树的详细实现(C++)
线索二叉树概述 二叉树虽然是非线性结构,但二叉树的遍历却为二又树的结点集导出了一个线性序列.希望很快找到某一结点的前驱或后继,但不希望每次都要对二叉树遍历一遍,这就需要把每个结点的前驱和后继信息记录下 ...
- JAXB--obj2xml&xml2obj
参考: https://www.cnblogs.com/mumuxinfei/p/8948299.html 去掉 xsi:type="echoBody" xmlns:xsi=&q ...
- django项目日志
接口中,写一条日志: 日志工具文件如下:
- DVWA全级别之Brute Force(暴力破解)
Brute Force Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令. 首先我们登录DVWA(admin,password),之后我们看网络是否为无代理,: ...