kafka集群搭建超详细教程

kafka集群搭建超详细教程由于 Kafka 具备诸多优点 在大数据开发领域已经占据不可或缺的地位 我们在工作中就会不可避免与之打交道 那么搭建 Kafka 集群就非常有必要了

前言

  • 高吞吐量、低延迟kafka每秒可以处理百万条消息,它的延迟最低只有几毫秒,topic可以分多个partition, consumer group partition进行consumer操作
  • 可扩展性kafka集群支持热扩展
  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
  • 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
  • 高并发:支持数千个客户端同时读写

基于Kafka具备这么多特点,在大数据开发领域已经占据不可或缺的地位,我们在工作中就会不可避免与之打交道,那么搭建Kafka集群就非常有必要了,今天就来分享一下kafka 集群搭建的详细过程。

详细步骤

前期准备:

  1. 准备三个虚拟机:
    192.168.36.121 hadoop1
    192.168.36.122 hadoop2
    192.168.36.123 hadoop3






  2. 虚拟机上配置有ssh服务,可以进行免密登录
  3. Kafka运行在JVM上,需要安装JDK
  4. kafka依赖zookeeper,需要安装zookeeper,可以参考我的另一篇文章《zookeeper集群搭建超详细教程》

注意:下边的步骤都是在hadoop1这个节点上进行的操作,除特殊说明外。

1、下载安装包

cd /opt/module # 下载kafka安装包 wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz 

2、解压

# 解压kafka安装包 tar -zxvf kafka_2.13-2.6.0.tgz mv kafka_2.13-2.6.0 kafka 

3、创建存放kafka消息的目录

cd kafka mkdir kafka-logs 

4、修改配置文件

vim /opt/module/kafka/config/server.properties # 修改如下参数 broker.id=0 listeners=PLAINTEXT://hadoop1:9092 log.dirs=/opt/module/kafka/kafka-logs zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181 

5、分发kafka安装目录

# 分发kafka安装目录给其他集群节点 scp -r /opt/module/kafka/ hadoop2:/opt/module scp -r /opt/module/kafka/ hadoop3:/opt/module 

分发完成后,其他集群节点都需要修改配置文件server.properties中的 broker.idlisteners 参数。

6、编写kafka集群操作脚本

# 导入java环境 vim /etc/profile # 添加如下内容(注意:填写自己的java安装目录) export JAVA_HOME=/usr/java/jdk1.8.0_131 export CLASSPATH=.:${ 
   JAVA_HOME}/jre/lib/rt.jar:${ 
   JAVA_HOME}/lib/dt.jar:${ 
   JAVA_HOME}/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin cd /opt/module/kafka/bin # 创建kafka启动脚本 vim kafka-cluster.sh # 添加如下内容 #!/bin/bash case $1 in "start"){ 
    for i in hadoop1 hadoop2 hadoop3 do echo -------------------------------- $i kafka 启动 --------------------------- ssh $i "source /etc/profile;/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties" done } ;; "stop"){ 
    for i in hadoop1 hadoop2 hadoop3 do echo -------------------------------- $i kafka 停止 --------------------------- ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh" done } ;; esac # 保存退出后,修改执行权限 chmod +x ./kafka-cluster.sh 

脚本命令说明:

启动kafka集群命令 ./kafka-cluster.sh start 停止kafka集群命令 ./kafka-cluster.sh stop 

7、启动kafka集群

首先启动zookeeper集群
然后执行kafka集群脚本启动命令

cd /opt/module/kafka/bin ./kafka-cluster.sh start 

8、测试

kafka集群启动成功后,我们就可以对kafka集群进行操作了。

创建主题

cd /opt/module/kafka ./bin/kafka-topics.sh --create --bootstrap-server hadoop1:9092 --replication-factor 3 --partitions 1 --topic test 

查看主题列表

./bin/kafka-topics.sh --list --bootstrap-server hadoop1:9092 

启动控制台生产者

./bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test 

启动控制台消费者

./bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic test --from-beginning 

在生产者控制台输入hello kafka,消费者控制台,就可以消费到生产者的消息,输出 hello kafka,表示消费端成功消费了生产者生产的消息!

至此,我们就顺利完成了kafka集群搭建的整个过程!

希望大家都能有所收获,喜欢的可以点赞和收藏,有疑问的可以在评论区留言,也欢迎转发分享给更多的人!

谢谢大家!

————– end —————-

微信公众号:请扫描下面的二维码进行关注!
kafka集群搭建超详细教程
个人微信:请扫描下面的二维码添加好友!
kafka集群搭建超详细教程






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月17日 上午11:17
下一篇 2026年3月17日 上午11:17


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号