引言
kafka是一款优秀的消息中间件,在数据接入的过程用,由于特定场景需要采集某种日志并将其入库,使用到该中间件,这里记录学习过程。
典型使用场景:
收集日志 —> 日志正则化 —> 发送到kafka --> 入库
安装教程
记录简易的安装过程
wget http://mirrors.aliyun.com/apache/kafka/3.2.2/kafka_2.12-3.2.2.tgz
解压文件
tar -xvf kafka_2.12-3.2.1.tgz
wget http://mirrors.aliyun.com/apache/kafka/3.2.2/kafka_2.12-3.2.2.tgz
执行下面命令,启动zk
bin/zookeeper-server-start.sh config/zookeeper.properties
发现没有java,无法启动,这里需要安装一下java, 下载解压后, 核心的配置步骤如下:
其中 /opt/jdk
为手工指定的解压后的文件夹名称。
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
执行下面命令, 启动kafka
bin/kafka-server-start.sh config/server.properties
kafka的简单使用教程
记录简易的使用教程
- 如何创建一个topic?
让我们创建一个名为“test”的topic,它有一个分区和一个副本
bin/kafka-topics.sh --create --bootstrap-server localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 如何查看已经创建的topic
bin/kafka-topics.sh --list --bootstrap-server localhost:2181
- 如何发送和接收消息
发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test ./config/producer.properties
接收消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
- 如何实现kafka之间的信息传递?
参考文档: https://blog.csdn.net/tmaczt/article/details/115274144
bin/kafka-mirror-maker.sh --consumer.config config/consumer-test.properties --producer.config config/producer-test.properties --num.streams 8 --whitelist 'customer.order*'