Kafka 集群搭建
zookepper集群搭建(详细)
http://blog.youkuaiyun.com/zz657114506/article/details/53966944
kafka 集群规划
mini05 mini06 mini07 (3台服务器都运行zookeeper、kafka)
1、下载kafka安装
2、 解压并重命名
tar -zxf kafka_2.11-0.10.1.0.tgz
mv kafka_2.11-0.10.1.0
3、添加环境变量
export KAFKA_HOME=/home/apps/kafka
export PATH=$PATH:$KAFKA_HOME/bin
4、修改配置文件
cp server.properties server.properties.bak
vi server.properties(可将内容完全删掉,在添加一下内容)
# borker的全局唯一编号,不能重复
broker.id=0
# 用来监听链接的端口,produce或consumer将在此端口建立连接
port=9092
#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=/home/apps/kafka/kafka-logs
# topic 在当前borker上的分片个数
num.partitions=2
# 用来恢复和清理data下数据的线程数
num.recovery.threads.per.data.dir=1
# segment文件保留的最长时间,超时将被删除
log.retention.hours=168
# 滚动生成新的segment文件的最大时间
log.roll.hours=168
# 日志文件中每个segment的大小,默认1G
log.segment.bytes=1073741824
# 周期性检查文件大小的时间
log.retention.check.interval.ms=300000
# 日志清理是否打开
log.cleaner.enable=true
# partion buffer 中,消息的条数达到阀值,将触发flush到磁盘
log.flush.interval.messages=10000
# 消息buffer的时间,达到阀值,将触发flush到磁盘
log.flush.interval.ms=1000
############################# Zookeeper #############################
# root directory for all kafka znodes.
zookeeper.connect=mini05:2181,mini06:2181,mini07:2181
# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000
host.name=mini05
advertised.host.name=192.168.175.145
5、分发安装包并修改配置
ssh -r /home/apps/kafka @mini06:/home/apps/
ssh -r /home/apps/kafka @mini07:/home/apps/
# 依次修改节点上的server.properties的broker.id(不能重复)
vi $KAFKA_HOME/config/server.properties
6、启动
依次在各个节点上启动kafka进行
kafka-server-start.sh -daemon /home/apps/kafka/config/server.properties
再使用jps查看kafka进程
Kafka KafkaOffsetMonitor 监控
jar 下载地址
https://github.com/quantifind/KafkaOffsetMonitor/releases/
将 jar 上传至/home/apps/kafka-monitor,然后在该文件下创建touch kafka-monitor.sh并chomd a+x kafka-monitor.sh
启动脚本(vi kafka-monitor.sh)
#! /bin/bash
java -Xms512M -Xmx512M -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m -cp KafkaOffsetMonitor-assembly-0.2.0.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
--zk 192.168.175.145:2181,192.168.175.146:2181,192.168.175.147:2181 \
--port 8888 \
--refresh 10.seconds \
--retain 7.days 1>/home/apps/kafka-monitor/logs/stdout.log 2>/home/apps/kafka-monitor/logs/stderr.log &
效果图