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

相关推荐
阿里云云原生7 小时前
告别冗长链路!Kafka × Table Bucket 实现开放表格式零 ETL 实时入湖
云原生·kafka
大大大大晴天10 小时前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB1 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI1 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI1 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI1 天前
MapReduce框架原理解析二:Shuffle
大数据·hadoop
大大大大晴天2 天前
Hudi技术内幕:Key Generation原理与实践
大数据
得物技术5 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子5 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai