kafka和zookeeper集群搭建

前提

我这里用的是三台服务器搭建集群,不是一台,这个要搞清楚

zookeeper集群搭建

1. 下载安装包

可以直接到官网下载,也可以通过下面命令下载,将命令中的版本号改成自己的想要下载的版本号就可以,如果不能,那就乖乖去官网下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

接下来就是解压了

 tar -zxvd apache-zookeeper-3.7.0-bin.tar.gz 

解压完文件就行行了

2. 配置域名,在/etc/hosts中配置

这一步不是必须的,你也可以直接在后面的配置文件中配置ip就行
贴一下我的hosts;

注意:配置的这些域名信息要同步到三台服务器中,我这里搭建集群用了三台服务器,至于用一台的,就不用考虑了。我这里连kafka的域名也配置了,等下kafak环节就不讲了

至于同步的方法,你可以拷贝,每个配置,也可以用下面命令,如果中间要输入密码,就输入

scp -r /etc/host 服务器1ip:/etc/hosts
scp -r /etc/host 服务器2ip:/etc/hosts
# zookeeper配置

192.168.1.214 zook1.ligel.com
192.168.1.88 zook2.ligel.com
192.168.1.51 zook3.ligel.com

# kafka配置

192.168.1.214 kafka1.ligel.com
192.168.1.88 kafka2.ligel.com
192.168.1.51 kafka3.ligel.com

3. 编写配置文件

进入到解压好的zookeeper中,进入conf文件下。 apache-zookeeper-3.7.0-bin/conf

执行cp zoo_sample.cfg ./zoo.cfg, 然后编辑zoo.cfg

配置文件内容如下
可以直接用我的配置文件,其中该三个地方

  • dataDir
  • dataLogDir
  • server.x=[hostname]:nnnnn[:nnnnn][:observer] 这里是服务器节点配置

上面第一个是数据存储路径,挂载成你自己的路径
第二个是日志文件挂载路径,一样挂载成自己的路径

第三个就是节点信息了。有多少个节点就配置多少个
这里有几个注意的点

  • server.x 这里的x就是在上面配置的dataDir要新建一个myid文件,文件中添上当前服务的id,如果server.1 那么myid文件中就一个数字1就行。记住每个服务器都要配置。就是x和myid文件中填的数组一定要对应,不然启动不了

  • 其次就是server.x=后面的服务器地址,你可以写域名(前提是你在/etc/hosts配置了域名),也可以写ip,至于后面两个端口,固定,不用管

# The number of milliseconds of each tick
# zk使用的基本时间单位是tick,这个参数用于配置一个tick的长度,单位为毫秒,默认值3000,不建议修改.
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.
# zk用于保存内存数据库的快照的目录,除非设置了 dataLogDir,否则这个目录也用来保存更新数据库的事务日志。在生产环境使用的zk集群,强烈建议设置dataLogDir,让dataDir只存放快照,因为写快# 照的开销很低,这样dataDir就可以和其他日志目录的挂载点合设.
dataDir=/mydata/zkcluster/zook/data
# the port at which the clients will connect
# zk服务器监听的端口,客户端通过该端口建立连接,每台 zk服务器也允许设置为不同的值。默认值2181
clientPort=2181

# 生产环境必须要设,注意,因为zk写事务日志是顺序地、 阻塞地,所以这个目录一定要单独划盘,禁止和其他高写操作的目录合设,否则严重影响性能。
dataLogDir=/mydata/zkcluster/zook/datalog

# 因为zk服务器是需要对请求队列化的,当客户端很多,提交的写操作很频繁时,zk服务器可能在来得及处理前就OOM了。这个参数用于限制系统中还未处理的请求数阈值,默认为1000,一般不需要修改
globalOutstandingLimit=1000

# 用于设置预分配的事务日志文件大小,单位为KB,默认值为64M,这个要改,默认的太大了
preAllocSize=10240

# 用于设置每次快照之间的事务数,默认为100000。因为写快照是消耗性能的,也没有必要频繁写,虽然该值看起来很大,一般不需要修改该值。
snapCount=100000
# 如果设置了该路径,将持续跟踪zk的操作并写入一个名为traceFile.year.month.day的跟踪日志中,该选项比较消耗性能,只在debug环境可以开启&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值