您的位置:首页 > 财经 > 金融 > 海淀做网站设计的公司_怎么创业呢白手起家_开网店怎么开 新手无货源_外贸网站免费建站

海淀做网站设计的公司_怎么创业呢白手起家_开网店怎么开 新手无货源_外贸网站免费建站

2025/2/26 7:59:50 来源:https://blog.csdn.net/AustinCien/article/details/145861814  浏览:    关键词:海淀做网站设计的公司_怎么创业呢白手起家_开网店怎么开 新手无货源_外贸网站免费建站
海淀做网站设计的公司_怎么创业呢白手起家_开网店怎么开 新手无货源_外贸网站免费建站

官网: Apache ZooKeeper

Zookeeper集群的工作是超过半数才能对外提供服务,成员数量一般为奇数台

环境:

操作系统: centos7

软件版本: zookeeper-3.4.12.tar.gz

防火墙:全关

三台服务器改主机名:

hostnamectl set-hostname kafka-1

hostnamectl set-hostname kafka-2

hostnamectl set-hostname kafka-3

三台服务器互相解析:

vim /etc/hosts

192.168.148.141 kafka-1

192.168.148.142 kafka-2

192.168.148.143 kafka-3

三台服务器同时操作:

1.布署java环境

yum -y install wget

wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm

yum localinstall jdk-8u341-linux-x64.rpm -y

2.安装zookeeper

tar xf zookeeper-3.4.12.tar.gz -C /usr/local/

ln -s /usr/local/zookeeper-3.4.12/ /usr/local/zookeeper

3.修改配置文件

#cd /usr/local/zookeeper/conf

#cp zoo_sample.cfg zoo.cfg

#egrep -v "^$|^#" zoo.cfg

tickTime=2000 #Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔initLimit=10 #这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,#而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。#当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,#那么表明这个客户端连接失败。总的时间长度就是 10*2=20 秒syncLimit=5 #这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,#总的时间长度就是5*2=10秒dataDir=/data/zookeeper/data #快照日志的存储路径dataLogDir=/data/zookeeper/datalog #事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录#这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多clientPort=2181 #这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求server.1=192.168.148.141:2888:3888server.2=192.168.148.142:2888:3888server.3=192.168.148.143:2888:3888#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到数据目录下面myid文件里#192.168.148.141为IP地址,第一个端口是leader和follower之间的通信端口,默认是2888,服务启动后,只有leader会监听这个端口#第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888

4.创建数据目录及服务器id

(每台机器的id不一样)

mkdir /data/zookeeper/data{,log} -p

echo 1 > /data/zookeeper/data/myid

5.在所有机器上启动服务并查看

# /usr/local/zookeeper/bin/zkServer.sh start #启动服务

# /usr/local/zookeeper/bin/zkServer.sh status #查看状态

zk集群自动分配一个leader,多个follower,主一般是相应客户端的读写请求,而从主同步数据,当主挂掉之后就会从follower里投票选举一个leader出来

# netstat -tanp |grep -E "2888|3888"

# jps #查看运行的进程号

9969 QuorumPeerMain

13767 Jps

6.几点重要说明

1)、myid文件和server.myid  在快照目录下存放的标识本台服务器的文件,他是整个zk集群用来发现彼此的一个重要标识。

2)、zoo.cfg 文件是zookeeper配置文件在conf目录里。

3)、log4j.properties文件是zk的日志输出文件, 在conf目录里. 用java写的程序基本上有个共同点:日志都用log4j来进行管理。

4)、zkEnv.sh和zkServer.sh文件

zkServer.sh 主管理程序文件

zkEnv.sh 是主要配置zookeeper集群启动时配置环境变量的文件

5)、还有一个需要注意: zookeeper不会主动的清除旧的快照和日志文件,这个是操作者的责任。

清理方法:

一. 脚本+计划任务清理

二. 使用bin/zkCleanup.sh这个脚本清理,具体使用方法找官方文档

三. 从3.4.0开始,zookeeper提供了自动清理snapshot和事务日志的功能,通过在zoo.cfg中配置两个参数实现:

autopurge.purgeInterval  清理频率,单位是小时,默认是0,表示不开启自动清理功能

autopurge.snapRetainCount 需要保留的文件数目, 默认是保留3个

7.zookeeper端口:

连接客户端(kafka):2181

leader和folower通信:2888

选举新的leader:3888

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com