kafka搭建
依赖于zookeeper,先搭建好zookeeper
集群部署
1)解压安装包
tar -zxvf kafka_2.11-0.11.0.0.tgz
2)修改解压后的文件名称
mv kafka_2.11-0.11.0.0/ /usr/local/kafka
3)在/usr/local/kafka目录下创建logs文件夹
mkdir logs
4)修改配置文件
cd config/
vi server.properties
#broker的全局唯一编号,不能重复
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=/usr/local/kafka/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接Zookeeper集群地址
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
5)配置环境变量
vi /etc/profile
#KAFKA_HOME
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
6)其他节点部署
scp server.properties zk2:/usr/local/kafka/config/
scp /etc/profile zk2:/etc/
其他节点的server.properties中的broker.id=2、broker.id=3
注:broker.id不得重复
7)启动集群
依次在zk1,zk2,zk3节点上启动kafka
bin/kafka-server-start.sh -daemon config/server.properties
8)关闭集群
bin/kafka-server-stop.sh stop
Kafka命令行操作
1)查看当前服务器中的所有topic
bin/kafka-topics.sh --zookeeper zk2:2181 --list
2)创建topic
bin/kafka-topics.sh --zookeeper zk2:2181 \
--create --replication-factor 3 --partitions 1 --topic first
选项说明:
--topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数,一般设置成broker的倍数
3)删除topic
bin/kafka-topics.sh --zookeeper zk2:2181 \
--delete --topic first
需要server.properties中设置delete.topic.enable=true否则只是标记删除。
4)发送消息
bin/kafka-console-producer.sh \
--broker-list zk1:9092 --topic first
>hello world
>atguigu atguigu
5)消费消息
bin/kafka-console-consumer.sh \
--bootstrap-server zk3:9092 --from-beginning --topic first
--from-beginning:会把主题中以往所有的数据都读取出来。
6)查看某个Topic的详情
bin/kafka-topics.sh --zookeeper zk3:2181 \
--describe --topic first
7)修改分区数
bin/kafka-topics.sh --zookeeper zk3:2181 --alter --topic first --partitions 6
Kafka Monitor
1.上传jar包KafkaOffsetMonitor-assembly-0.4.6.jar到集群
2.在/usr/local/下创建kafka-offset-console文件夹
3.将上传的jar包放入刚创建的目录下
4.在/usr/local/kafka-offset-console目录下创建启动脚本start.sh,内容如下:
#!/bin/bash
java -cp KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--offsetStorage kafka \
--kafkaBrokers zk1:9092,zk2:9092,zk3:9092 \ kafka集群
--kafkaSecurityProtocol PLAINTEXT \ 明文传输
--zk zk1:2181,zk2:2181,zk3:2181 \ 指定zk集群
--port 8086 \ 指定dashboard端口
--refresh 10.seconds \ 10秒刷新
--retain 2.days \ 数据保留2天
--dbName offsetapp_kafka & 指定db的名字 &在后台执行
5.在/usr/local/kafka-offset-console目录下创建mobile-logs文件夹
mkdir /usr/local/kafka-offset-console/mobile-logs
6.启动KafkaMonitor
./start.sh
7.登录页面zk1:8086端口查看详情
编译kafka-manager-1.3.3.15.zip
1. sbt安装
curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
yum install -y sbt
2. 下载 kafka-manager-1.3.3.15.zip
https://github.com/yahoo/kafka-manager/releases
3.kafka-manager-1.3.3.15.zip解压并编译
unzip kafka-manager-1.3.3.15.zip
cd kafka-manager-1.3.3.15/
sbt clean dist
4.kafka-manager-1.3.3.15.zip编译结果文件目录
kafka-manager-1.3.3.15/target/universal/kafka-manager-1.3.3.15.zip
安装kafka-manager 每个节点都要装
1.解压到/usr/local/
2.修改配置文件conf/application.conf
kafka-manager.zkhosts="kafka-manager-zookeeper:2181"
修改为:
kafka-manager.zkhosts="zk1:2181,zk2:2181,zk3:2181"
3.启动kafka-manager
JMX_PORT=9988 bin/kafka-manager --daemon config/server.properties 先开启jmx监控
bin/kafka-manager 开启kafka-manager
4.登录zk1:9000页面查看详细信息
设置集群
cluseter zookeeper Hosts
zk1:2181,zk2:2181,zk3:2181/NAMESPACE
kafaka verison:0.9.0.1
选上
Enable JMX Polling (set JMX_PORT env variable before starting kafka server) 开启JMX监控
Poll consumer information (Not recommended for large # of consumers) 监控消费者信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器