linux之zookeeper下载安装
zookeeper for linux下载安装
一、下载zookeeper源码包
1 | [root@localhost ~]# wget http: //mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz |
二、解压
1 | [root@localhost ~]# tar -zxvf zookeeper-3.4.14.tar.gz |
三、进入conf目录
1 2 3 | [root@localhost ~]# cd zookeeper-3.3.6/conf/ [root@localhost conf]# ls configuration.xsl log4j.properties zoo_sample.cfg |
四、拷贝zoo_samle.cfg为zoo.cfg
1 2 3 | [root@localhost conf]# cp zoo_sample.cfg zoo.cfg [root@localhost conf]# ls configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg |
五、编辑zoo.cfg
1 | [root@localhost conf]# vi zoo.cfg |
1 | 1、单机模式:不做集群,内容如下(data目录需改成你真实输出目录): |
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 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. dataDir=/usr/local/mycrosoftware/zookeeper/zookeeper-3.4.14/data dataLogDir=/usr/local/mycrosoftware/zookeeper/zookeeper-3.4.14/log # the port at which the clients will connect clientPort=2181 |
2、集群模式:要做集群,内容如下(dataDir目录和server地址需改成你真实部署机器的信息):目前并未测试
1 2 3 4 5 6 7 8 | tickTime=2000 initLimit=10 syncLimit=5 dataDir=/root/zookeeper-3.3.6/data clientPort=2181 server.0=192.168.0.109:2555:3555 server.1=192.168.0.110:2555:3555 server.2=192.168.0.111:2555:3555 |
并在data目录下放置myid文件:(上面zoo.cfg中的dataDir)
1 2 | mkdir data vi myid |
myid指明自己的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容如下
1 | 1 |
六、启动
1 2 3 4 | [root@localhost bin]# ./zkServer.sh start JMX enabled by default Using config: /root/zookeeper-3.3.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED |
七、测试
1 | [root@localhost bin]# ./zkCli.sh -server 127.0.0.1:2181 |
八、查看zookeeper
1 2 3 4 | [root@localhost bin]# ps -aux | grep 'zookeeper' #查看进程 netstat -anp|grep 2181 #查看zookeeper的端口号命令 bin/zkServer.sh stop #zookeeper 的停止命令 bin/zkServer.sh status #zookeeper 的状态查看命令 |
运行配置的作用
initLimit
ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。
当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。
syncLimit
配置follower和leader之间发送消息,请求和应答的最大时间长度。
tickTime
tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。
dataLogDir
dataLogDir指定的路径是事务日志保存路径
dataDir
dataDir指定的路径是快照保存路径,当没有指定dataLogDir路径时,事务日志也会保存在该目录下
server.id=host:port1:port2
其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。
其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。
注意
如果仅为了测试部署集群模式而在同一台机器上部署zk进程,server.id=host:port1:port2配置中的port参数必须不同。但是,为了减少机器宕机的风险,强烈建议在部署集群模式时,将zk进程部署不同的物理机器上面。
博客参考:https://blog.csdn.net/qq_27739989/article/details/78078431
======================================================
2019/11/7 集群测试
准备工作:一台物理机,创建两台虚拟机。
第一步,拷贝zookeeper的tar.gz,进入zookeeper目录,可以看到zookeeper安装包
cd /usr/local/mycrosoftware/zookeeper
命令跨服务器拷贝,然后输入128服务器的密码,就会自动拷贝到128服务器的mysoftware目录中,然后进行解压
1 | 跨服务拷贝 scp -r -P 22 zookeeper-3.4.14.tar.gz root@192.168.64.128:/usr/locFal/mycrosoftware <br><br>解压命令 tar -zxvf zookeeper-3.4.14.tar.gz |
zookeeper需要依赖jdk,所以需要先在28上安装jdk,jdk安装步骤另外一篇博客有。
修改zoo.cfg
创建myid
1 2 | mkdir data vi myid |
启动zookeeper
1 2 3 4 | [root@localhost bin]# ./zkServer.sh start JMX enabled by default Using config: /root/zookeeper-3.3.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED |
集群测试:
登录zookeeper
1 | ./zkCli.sh -server 192.168.64.129:2181 |
查看节点命令:
1 | ls / |
1 | ls /dubbo |
创建节点
1 | create /node_group testnode |
登录另外一台集群,查看节点,发现多了一个129虚拟机创建的节点。
1 | ./zkCli.sh -server 192.168.64.128:2181 |
查看节点信息
1 | get /node_group |
检查状态 stat,与 get 的区别是,不列出 znode 的值。
1 | stat /node_group |
修改节点的值 set
1 | set /node_group new_node_group |
删除节点.删除 /node_group,不会返回任何内容。如果有子节点的时候,连带子节点也一起删除。
1 | rmr /node_group |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具