前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka 集群搭建

Kafka 集群搭建

作者头像
全栈程序员站长
发布2022-08-11 19:47:36
1.2K0
发布2022-08-11 19:47:36
举报

大家好,又见面了,我是你们的朋友全栈君。

1、前提条件

1、部署Kafka集群搭建需要服务器至少3台,奇数台

2、Kafka的安装需要java环境,jdk1.8

3、Kafka安装包版本:kafka_2.11-0.10.0.1.tar.gz

4、假设3台服务器分别为:kafka1、kafka2、kafka3

2、Zookeeper集群搭建

1、将安装包kafka_2.11-0.10.0.1.tar.gz上传到/opt 目录下

2、解压:tar -zxvf kafka_2.11-0.10.0.1.tar.gz

3、创建zookeeper目录:mkdir zk_kfk_data

4、进入目录:cd /opt/kafka_2.11-0.10.0.1/

5、修改zookeeper.properties文件

命令:cd /opt/kafka_2.11-0.10.0.1/config

三台机器上的zookeeper.properties文件配置相同,data.Dir 为zk的数据目录,server.1、server.2、server.3 为集群信息。

2888端口号是zookeeper服务之间通信的端口

3888端口是zookeeper与其他应用程序通信的端口。

tickTime:CS通信心跳数

Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。

tickTime:该参数用来定义心跳的间隔时间,zookeeper的客户端和服务端之间也有和web开发里类似的session的概念,而zookeeper里最小的session过期时间就是tickTime的两倍。

initLimit:LF初始通信时限

集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)

syncLimit:LF同步通信时限

集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)

6、创建myid文件

进入/opt/kafka_2.11-0.10.0.1/zk_kfk_data目录,创建myid文件,将三台服务器上的myid文件分别写入1,2,3。myid是zookeeper集群用来发现彼此的标识,必须创建,且不能相同。

7、​​​​​​​执行启动zookeeper命令:

nohup /opt/kafka_2.11-0.10.0.1/bin/zookeeper-server-start.sh /opt/kafka_2.11-0.10.0.1/config/zookeeper.properties &>> /opt/kafka_2.11-0.10.0.1/zookeeper.log &

三台机器都执行启动命令,查看zookeeper的日志文件,没有报错就说明zookeeper集群启动成功了。

8、Kafka集群搭建 1、修改server.properties配置文件 命令:cd /opt/kafka_2.11-0.10.0.1/config 2、创建kafka日志数据目录:mkdir kafka-logs-1 命令:cd /opt/kafka_2.11-0.10.0.1/

3、参数说明:

broker.id 0 #broker.id的值三个节点要配置不同的值,分别配置为0,1,2

advertised.host.name kafka1.sd.cn #在hosts文件配置kafka1域名,另外两台分别为:kafka2.sd.cn,kafka3.sd.cn

advertised.port 9092 #默认端口,不需要改

log.dirs /opt/kafka_2.11-0.10.0.1/kafka-logs-1 #Kafka日志数据目录

num.partitions 40 #分区数,根据自行修改

log.retention.hours #24 #日志保存时间

zookeeper.connect kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 #zookeeper连接地址,多个以逗号隔开

9、启动kafka集群: nohup /opt/kafka_2.11-0.10.0.1/bin/kafka-server-start.sh /opt/kafka_2.11-0.10.0.1/config/server.properties &>> /opt/kafka_2.11-0.10.0.1/kafka.log &

10、测试Kafka集群 1、创建topic:test /opt/kafka_2.11-0.10.0.1/bin/kafktopics.sh –create –zookeeper kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 –replication-factor 1 –partitions 1 –topic test

2、列出已创建的topic列表 /opt/kafka_2.11-0.10.0.1/bin/kafka-topics.sh –list –zookeeper localhost:3181

3、模拟客户端去发送消息 /opt/kafka_2.11-0.10.0.1/bin/kafka-console-producer.sh –broker-list kafka1.sd.cn:9092,kafka2.sd.cn:9092,kafka3.sd.cn:9092 –topic test

4、模拟客户端去接受消息 /opt/kafka_2.11-0.10.0.1/bin/kafka-console-consumer.sh –zookeeper kafka1.sd.cn:3181,kafka2.sd.cn:3181,kafka3.sd.cn:3181 –from-beginning –topic test

​​​​​

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131046.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档