当前位置: 首页 > article >正文

【亲测有效】Kafka3.5.0分布式集群安装部署与测试-最新

Kafka使用Zookeeper作为其分布式协调框架,能很好地将消息生产、消息存储、消息消费的过程结合在一起。同时借助Zookeeper,Kafka能够将生产者、消费者和集群节点在内的所有组件,在无状态的情况下建立起生产者和消费者的订阅关系,并实现生产者与消费者的负载均衡。

可以看出Kafka集群依赖于Zookeeper,所以在安装Kafka之前需要提前安装Zookeeper。Zookeeper集群在前面Hadoop集群的构建过程中已经在使用,Kafka可以共用之前安装的Zookeeper集群,接下来只需要安装Kafka集群即可。

1.下载并解压Kafka

下载kafka_2.13-3.5.0.tgz安装包,选择hadoop01作为安装节点,然后上传至hadoop01节点的 /home/hadoop/app 目录下进行解压安装,具体操作命令如下。

[hadoop@hadoop01 app]$ tar  -zxvf  kafka_2.13-3.5.0.tgz

[hadoop@hadoop01 app]$ rm  -rf  kafka_2.13-3.5.0.tgz

[hadoop@hadoop01 app]$ ls

kafka_2.13-3.5.0

[hadoop@hadoop01 app]$ ln  -s  kafka_2.13-3.5.0  kafka

2.修改Kafka配置文件

从Kafka架构图中可以看出,它包含生产者、消费者、Zookeeper和Kafka这4个角色,所以只需要修改以下4个配置文件即可。

(1)修改zookeeper.properties配置文件

进入Kafka根目录下的config文件夹中,修改zookeeper. properties配置文件,具体内容如下。

[hadoop@hadoop01 config]$ vi  zookeeper.properties

# 指定Zookeeper数据目录

dataDir=/home/hadoop/data/zookeeper/zkdata

# 指定Zookeeper端口号

clientPort=2181

(2)修改consumer.properties配置文件

进入Kafka根目录下的config文件夹中,修改consumer. properties配置文件,具体内容如下。

[hadoop@hadoop01 config]$ vi  consumer.properties

#配置Kafka集群

bootstrap.servers=hadoop01:9092,hadoop02:9092,hadoop03:9092

(3)修改producer.properties配置文件

进入Kafka根目录下的config文件夹中,修改producer. properties配置文件,具体内容如下。

[hadoop@hadoop01 config]$ vi  producer.properties

#Kafka集群配置

bootstrap.servers=hadoop01:9092,hadoop02:9092,hadoop03:9092

(4)修改server.properties配置文件

进入Kafka根目录下的config文件夹中,修改server. properties配置文件,具体内容如下。

[hadoop@hadoop01 config]$ vi server.properties

#指定Zookeeper集群

zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181

3Kafka安装目录分发集群节点

将hadoop01节点中配置好的Kafka安装目录,分发给hadoop02和hadoop03节点,这里使用Linux远程命令进行分发。

#远程分发配置文件

[hadoop@hadoop01 app]$scp  -r  kafka_2.13-3.5.0  hadoop@hadoop02:/home/hadoop/app/

[hadoop@hadoop01 app]$scp  -r  kafka_2.13-3.5.0  hadoop@hadoop03:/home/hadoop/app/

#创建软连接

[hadoop@hadoop02 app]$ ln  -s  kafka_2.13-3.5.0  kafka

[hadoop@hadoop03 app]$ ln  -s  kafka_2.13-3.5.0  kafka

4.修改Server编号

分别登录hadoop01、hadoop02和hadoop03节点,进入Kafka根目录下的config文件夹中,修改server.properties配置文件中的broker id项。

(1)登录hadoop01节点,修改server.properties配置文件中的broker id项,操作如下所示。

[hadoop@hadoop01 config]$ vi server.properties

#标识hadoop01节点

broker.id=1

(2)登录hadoop02节点,修改server.properties配置文件中的broker id项,操作如下所示。

[hadoop@hadoop02 config]$ vi server.properties

#标识hadoop02节点

broker.id=2

(3)登录hadoop03节点,修改server.properties配置文件中的broker id项,操作如下所示。

[hadoop@hadoop03 config]$ vi server.properties

#标识hadoop03节点

broker.id=3

5.启动Kafka集群

Zookeeper管理着Kafka Broker和消费者,同时Kafka将元数据信息保存在Zookeeper中,说明Kafka集群依赖Zookeeper提供协调服务,所以需要先启动Zookeeper集群,然后启动Kafka集群。

(1)启动Zookeeper集群

在所有节点进入 /home/hadoop/app/zookeeper目录,使用bin/zkServer.sh start命令启动Zookeeper集群,具体操作如下所示。

[hadoop@hadoop01 zookeeper]$ bin/zkServer.sh  start

[hadoop@hadoop02 zookeeper]$ bin/zkServer.sh  start

[hadoop@hadoop03 zookeeper]$ bin/zkServer.sh  start

(2)启动Kafka集群

在所有节点进入 /home/hadoop/app/kafka目录,使用bin/kafka-server-start.sh  -daemon config/server.properties命令启动Kafka集群,具体操作如下所示。

[hadoop@hadoop01 kafka]$ bin/kafka-server-start.sh  -daemon  config/server.properties

[hadoop@hadoop02 kafka]$ bin/kafka-server-start.sh  -daemon  config/server.properties

[hadoop@hadoop03 kafka]$ bin/kafka-server-start.sh  -daemon  config/server.properties

分别在hadoop01、hadoop02和hadoop03节点,使用jps命令查看Kafka进程,具体操作如图4-20所示。

6Kafka集群测试

Kafka自带有很多种shell脚本供用户使用,包含生产消息、消费消息、Topic管理等功能。接下来利用Kafka shell脚本测试使用Kafka集群。

(1)创建Topic

使用Kafka的bin目录下的kafka-topics.sh脚本,通过create命令创建名为test的Topic,具体操作如下所示。

[hadoop@hadoop01 kafka]$ bin/kafka-topics.sh  --bootstrap-server localhost:9092  --create  --topic  test  --replication-factor  3  --partitions  3

Created topic test.

上述命令中,--bootstrap-server指定Kafka服务地址;--create 创建 Topic ;--topic指定Topic名称;--replication-factor 指定副本数量;--partitions指定分区个数。

(2)查看Topic列表

通过list命令可以查看到刚刚创建的Topic为test,具体操作如下所示。

[hadoop@hadoop01 kafka]$ bin/kafka-topics.sh  --bootstrap-server  localhost:9092  --list

test

(3)查看Topic详情

通过describe命令查看Topic内部结构,具体操作如下所示,可以看到 test 有3个副本和3个分区。

[hadoop@hadoop01 kafka]$ bin/kafka-topics.sh  --bootstrap-server  localhost:9092  --describe  --topic  test

Topic: test TopicId: mKRrS3hnSg6_oLgD39o5dg PartitionCount: 3  ReplicationFactor:3  Configs:

Topic: test Partition: 0 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1

Topic: test Partition: 1 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2

Topic: test Partition: 2 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3

(4)消费者消费Topic

在hadoop01节点上,通过Kafka自带的kafka-console-consumer.sh脚本,开启消费者消费 test中的消息。

[hadoop@hadoop01 kafka]$ bin/kafka-console-consumer.sh  --bootstrap-server  localhost:9092  --topic  test

(5)生产者向Topic发送消息

在hadoop01节点上,通过Kafka自带的kafka-console-producer.sh脚本,启动生产者给Topic发送消息。如下所示,开启生产者之后,生产者向 test发送了4条消息。

[hadoop@hadoop01 kafka]$ bin/kafka-console-producer.sh  --broker-list  localhost:9092  --topic  test

>kafka

>kafka

>flume

>flume

查看消费者控制台,如果成功消费了4条数据,说明Kafka集群可以正常对消息进行生产和消费。


http://www.kler.cn/a/470259.html

相关文章:

  • Python 爬虫验证码识别
  • 大风车excel:怎么把题库导入excel?题库导入excel
  • wordpress开发之实现使用第三方库qrcode-generator生成二维码并上传和展示
  • C# 检查一个字符串是否是科学计数法格式字符串 如 1.229266E+01
  • 十四、Vue 混入(Mixins)详解
  • 极客说|微软 Phi 系列小模型和多模态小模型
  • 带内管理和带外管理
  • 【ACM出版 | 高录用 |快检索】2025年第二届机器学习与神经网络国际学术会议(MLNN 2025)
  • 前后端分离架构设计与实现:构建现代Web应用的基石
  • 《机器学习》——逻辑回归(过采样)
  • 机器翻译
  • [ECCV 2018]Receptive Field Block Net for Accurate and Fast Object Detection
  • 【python如何使用随机模块】
  • RabbitMQ端口操作
  • 相机镜头竞品选型的主要参考参数和选型方法
  • 第4章:Go语言面向对象编程
  • 下载b站高清视频
  • 字玩FontPlayer开发笔记8 Tauri2文件系统
  • Opencv查找、绘制轮廓、圆形矩形轮廓和近似轮廓
  • ffmpeg八大开发库
  • 深入理解 pytest_runtest_makereport:如何在 pytest 中自定义测试报告
  • OKHttp调用第三方接口,响应转string报错okhttp3.internal.http.RealResponseBody@4a3d0218
  • 平安产险安徽分公司携手安徽中医药临床研究中心附属医院 共筑儿童安全防护网
  • SQLark:高效数据库连接管理的新篇章
  • 懒人不下床型遥控方案--手机对电脑的简单遥控(无收费方案)
  • jupyter执行指令的快捷键