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

相关推荐
Data跳动2 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1113 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq3 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq3 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈3 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
Java程序之猿3 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰4 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
小白学大数据4 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥5 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵
节点。csn5 小时前
Hadoop yarn安装
大数据·hadoop·分布式