Kafka集成SpringBoot

爱⌒轻易说出口 提交于 2020-03-04 07:33:50

Kafka的安装与部署

安装配置zookeeper

  • 在zookeeper官网下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
  • 解压到安装目录
tar -xzvf apache-zookeeper-3.5.6-bin.tar.gz 
mv apache-zookeeper-3.5.6-bin zookeeper-3.5.6
  • 基础配置

在zookeeper-3.5.6目录下创建数据存放目录和日志存放目录

mkdir data logs

将zookeeper-3.5.6/conf下的zoo_sample.cfg修改为zoo.cfg,添加以下配置信息

dataDir=/opt/zookeeper-3.5.6/data
dataLogDir=/opt/zookeeper-3.5.6/logs
  • 启动zookeeper
nohup sh zkServer.sh &

安装kafaka
注:需要先安装配置好对应的scala版本

  • 下载安装
# 下载
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.4.0/kafka_2.12-2.4.0.tgz
# 解压
tar -xzvf kafka_2.12-2.4.0.tgz -C /opt/
mv kafka_2.12-2.4.0 kafka-2.4.0
# 创建日志目录
mkdir kafka-2.4.0/logs
  • 修改配置文件conf/server.properties中的核心参数
#broker的全局唯一编号,不能重复,集群下id依次递增
broker.id=1
#删除topic功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的线程数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志存放的路径	
log.dirs=/opt/kafka-2.4.0/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#单机模式用
zookeeper.connect=localhost:2181
#配置连接Zookeeper地址,集群配置按以下方式写
zookeeper.connect=hadoop101:2181,hadoop102:2181,hadoop103:2181

如果是配置集群,配置好一台机器后通过scp命令分发到其它机器,主要修改broker.id=1为不同的值

  • kafka基于命令行的基本操作
# 启动服务
bin/kafka-server-start.sh config/server.properties &
# 停止服务
bin/kafka-server-stop.sh stop
# 查看所有的topic
bin/kafka-topics.sh --zookeeper localhost:2181 --list
# 创建topic --topic 定义topic名 --replication-factor 定义副本数 --partitions  定义分区数
bin/kafka-topics.sh --zookeeper localhost:2181 --create --replication-factor 3 --partitions 1 --topic first
# 删除topic 需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic first
# 发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic frist
# 消费消息 --from-beginning会把first主题中以往所有的数据都读取出来
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic frist

SpringBoot集成Kafka的简单应用

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!