![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zookeeper
FlyYant
码它!!!
展开
-
zookeeper常识
Zookeeper集群选举机制:第一次启动:投票过半数时,服务器id大的作为leader第二次启动选举规则: epoch(leader任期的意思)Epoch大的直接成为leaderEpoch相同,事务id大的成为leader事务id相同,服务器id大的成为leader生产集群安装多少zookeeper合适:奇数台生产经验:(最佳)10台服务器装3台zookeeper20台服务器装5台zookeeper100台服务器装11台zookeeper200台服务器装11台zookeeper原创 2021-08-10 16:00:09 · 395 阅读 · 0 评论 -
zookeeper使用curator框架实现分布式锁
Pom中添加依赖:<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>4.3.0</version></dependency><dependency> <groupId>org.apache.cura原创 2021-08-10 15:59:09 · 76 阅读 · 0 评论 -
zookeeper分布式锁处理
逻辑:接收到请求后,在/locks节点下创建一个临时顺序节点判断自己是不是当前节点下最小的节点,是,获取锁,不是,对前一个节点进行监听获取到锁,处理完业务后,delete节点释放锁,然后下面的节点将收到通知,重复第二步判断。编码实现:新建类DistributedLock,通过构造方法进行逻辑处理public DistributedLock() throws IOException,KeeperException,InterruptedException建立zookeeper连接//1.建原创 2021-08-10 15:56:48 · 187 阅读 · 0 评论 -
Zookeeper实现服务器动态上下线监听
在zookeeper集群客户端创建/servers节点在springboot项目中创建类:DistributeServer:编写连接zookeeper、注册服务器到zookeeper上,以及业务逻辑public class DistributeServer { private String connectString = "192.168.59.128:2181,192.168.59.129:2181,192.168.59.130:2181"; private int sessi原创 2021-08-10 15:54:10 · 258 阅读 · 0 评论 -
在java中使用zookeeper的api
Java中初始化zookeeper使用springbootIdea新建springboot项目导入额外的包:<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5.3-beta</version></dependency><原创 2021-08-10 09:01:32 · 123 阅读 · 1 评论 -
Zookeeper监听
Zookeeper监听原理:首先要有一个main()线程在main线程中创建zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener)通过connect线程将注册的监听事件发送给zookeeper在zookeeper的注册监听器列表中将注册的监听事件添加到列表中Zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程Listener线程内部调用了process()方法常见监听:监听节点数据的变化: g原创 2021-08-10 08:54:03 · 345 阅读 · 0 评论 -
zookeeper客户端常用命令
启动客户端时修改服务名称:./zkCli.sh -server hadoop128:2181 hadoop为客户端名字,2181为端口号客户端中create /sanguo “diaochan” //新建一个持久的节点create -e /sanguo //新建一个带序号的持久的节点create -s /sanguo //新建一个短暂的节点get /sanguo //获得节点的值get -s /sanguo //获得节点值和属性get -w /sanguo //节点注册原创 2021-08-06 16:51:40 · 113 阅读 · 0 评论 -
zookeeper脚本启动方式(一次启动多台)
首先下载sshpass为了免密yum install sshpass随后来到/home/用户名/bin中,没有就新建。新建文件zk.sh,粘贴下列脚本#!/bin/bashcase $1 in"start"){for i in hadoop128 hadoop129 hadoop130doecho --------------------------zookeeper $i 启动 -------------------sshpass -p root ssh -o St.原创 2021-08-06 16:50:19 · 1438 阅读 · 0 评论 -
Zookeeper集群配置(3台)
先像第一台一样配置2台服务器在zkData文件夹下新建文件myid内容是这个服务器的唯一标识,第一台1,第二台2,第三台3(自定义想用什么数字表示都可以)打开zoo.cfg配置文件,添加集群配置:server.128=192.168.59.128:2888:3888server.129=192.168.59.129:2888:3888server.130=192.168.59.130:2888:3888格式为:server.A=B:C:DA:刚刚myid中定义的唯一标识数字B:服务.原创 2021-08-06 16:46:50 · 455 阅读 · 0 评论 -
Linux xsync使用与配置
/etc/hosts文件中加入需要的服务器地址,例如:192.168.59.128 hadoop128192.168.59.129 hadoop129192.168.59.130 hadoop130再修改/usr/local/bin/下得xsync文件,如果没有就新建,内容为:#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0)); thenecho no args;exit;fi #2 获取文件名称p1=$1原创 2021-08-06 16:45:28 · 4462 阅读 · 2 评论 -
Zookeeper配置文件内容解析
# The number of milliseconds of each ticktickTime=2000 //通信心跳时间,zookeeper服务器与客户端心跳时间,单位毫秒# The number of ticks that the initial# synchronization phase can takeinitLimit=10 //LF初始化通信时限# The number of ticks that can pass between# sending a request a原创 2021-08-06 16:36:45 · 151 阅读 · 0 评论 -
linux没有ifconfig
yum install net-tools.x86_64 -y原创 2021-08-06 10:33:18 · 96 阅读 · 0 评论 -
linux安装jdk1.8
下载jdk1.8yum install -y java-1.8.0-openjdk-devel.x86_64原创 2021-08-06 09:50:15 · 72 阅读 · 0 评论