kafka的安装与简单使用

下载地址:Apache Kafka

1. 上传并解压安装包

tar -zxvf kafka_2.13-3.6.2.tgz

修改文件名:mv kafka_2.13-3.6.2 kafka

2. 配置环境变量

sudo vim /etc/profile

|---------------------------------------------------------------------------------------|
| #配置kafka环境变量 export KAFKA_HOME=/export/server/kafka export PATH=PATH:KAFKA_HOME/bin |

使配置生效:source /etc/profile

3. 修改kafka配置文件

修改server.properties(在文件中找到相应位置进行修改)

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # The id of the broker. This must be set to a unique integer for each broker. broker.id=1 #其他节点分别配置不同数值即可,本人依次递增1,2,3 # listeners = PLAINTEXT://your.host.name:9092 listeners=PLAINTEXT://node1:9092 #其他节点分别改为node2,node3,node4 # A comma separated list of directories under which to store log files log.dirs=/export/server/kafka_2.13-3.2.0/logs #需要自己创建logs目录 ####### Zookeeper ##### # Zookeeper connection string (see zookeeper docs for details). # This is a comma separated host:port pairs, each corresponding to a zk # server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". # You can also append an optional chroot string to the urls to specify the # root directory for all kafka znodes. zookeeper.connect=node1:2181,node2:2181,node3:2181,node4:2181/Kafka num.partitions=5 # 默认partition数量为1,如果topic在创建时没有指定partition数量,默认使用此值,建议改为5 auto.create.topics.enable=false #自动创建topic参数,建议此值设置为false,严格控制topic管理,防止生产者错写topic。 default.replication.factor=3 #默认副本数量为1,建议改为2。 delete.topic.enable=true #启用deletetopic参数,建议设置为true controlled.shutdown.enable=true #允许broker shutdown。如果启用,broker在关闭自己之前会把它上面的所有leaders转移到其它brokers上,建议启用,增加集群稳定性。 offsets.topic.replication.factor=3 |

4.开启Kafka服务

先启动zookeeper,再在各节点分别开启服务

/export/server/kafka/bin/kafka-server-start.sh -daemon /export/server/kafka/config/server.properties

5.简单使用

Kafka常用命令

(1)查看Kafka Topic列表

kafka-topics.sh --bootstrap-server node1:9092,node2:9092 --list

(2)创建Kafka Topic

kafka-topics.sh --bootstrap-server node1:9092,node2:9092 --create --topic customers --partitions 3 --replication-factor 3

(3个分区,三个副本)

(3)查看topic的详情

kafka-topics.sh --bootstrap-server node1:9092,node2:9092 --topic customers --describe

(4)增加分区

kafka-topics.sh --bootstrap-server node1:9092,node2:9092 --topic customers --alter --partitions 4

(5)删除Kafka Topic

kafka-topics.sh --bootstrap-server node1:9092,node2:9092 --delete --topic topic

(6)Kafka生产消息

kafka-console-producer.sh --bootstrap-server node1:9092,node2:9092 --topic customers

(7)Kafka消费消息

kafka-console-consumer.sh -bootstrap-server node1:9092,node2:9092 --topic customers --from-beginning

--from-beginning:会把主题中以往所有的数据都读取出来。根据业务场景选择是否增加该参数。

6.关闭Kafka

/export/server/kafka/bin/kafka-server-stop.sh

集群关闭顺序:先关闭Kafka,再关闭Zookeeper,最后关闭hadoop

相关推荐
G皮T2 小时前
【Elasticsearch】自定义评分检索
大数据·elasticsearch·搜索引擎·查询·检索·自定义评分·_score
掘金-我是哪吒4 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪5 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
活跃家族5 小时前
分布式压测
分布式
搞笑的秀儿5 小时前
信息新技术
大数据·人工智能·物联网·云计算·区块链
SelectDB5 小时前
SelectDB 在 AWS Graviton ARM 架构下相比 x86 实现 36% 性价比提升
大数据·架构·aws
二二孚日6 小时前
自用华为ICT云赛道Big Data第五章知识点-Flume海量日志聚合
大数据·华为
前端世界6 小时前
HarmonyOS开发实战:鸿蒙分布式生态构建与多设备协同发布全流程详解
分布式·华为·harmonyos
DavidSoCool7 小时前
RabbitMQ使用topic Exchange实现微服务分组订阅
分布式·微服务·rabbitmq
二二孚日8 小时前
自用华为ICT云赛道Big Data第四章知识点-Flink流批一体分布式实时处理引擎
大数据·华为