kafka安装
本章节说说kafka的安装部署,分为centosOS宿主机部署和docker部署
CentOS安装kafka
前置环境:zookeeper,安装教程请查看《zookeeper的安装与连接》
下载
可以前往kafka官方下载执行版本,当前以kafka_2.11-2.4.0.版本为例:
wget https://archive.apache.org/dist/kafka/2.4.0/kafka_2.11-2.4.0.tgz
解压
tar -zxvf kafka_2.11-2.4.0.tgz
参考配置文件
server.properties的参考配置内容如下:
# 当前broker的ID,集群内唯一
broker.id=0
# 监听的网络地址
listeners=PLAINTEXT://0.0.0.0:9092
# 对外公告的Listener地址 更具实际情况修改
advertised.listeners=PLAINTEXT://192.168.88.129:9092
# 网络处理线程数
num.network.threads=3
# 磁盘IO线程数
num.io.threads=8
# Socket发送缓冲区大小
socket.send.buffer.bytes=102400
# Socket接收缓冲区大小
socket.receive.buffer.bytes=102400
# Socket请求最大字节数
socket.request.max.bytes=104857600
# 消息日志存储路径
log.dirs=/tmp/kafka-logs
# 主题分区数量
num.partitions=1
# 日志恢复线程数
num.recovery.threads.per.data.dir=1
# 复制因子
offsets.topic.replication.factor=1
# 复制因子
transaction.state.log.replication.factor=1
# 最小同步复制数
transaction.state.log.min.isr=1
# 消息保存时间(小时)
log.retention.hours=168
# 消息日志片段大小
log.segment.bytes=1073741824
# 回收策略检查间隔
log.retention.check.interval.ms=300000
# Zookeeper连接地址
zookeeper.connect=localhost:2181
# Zookeeper连接超时时间
zookeeper.connection.timeout.ms=6000
# 消费组重新平衡延迟
group.initial.rebalance.delay.ms=0
启动
bin/kafka-server-start.sh config/server.properties &
其它常用命令
-- 停止Kafka
bin/kafka-server-stop.sh
-- 创建Topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 4 --topic cm-yyzmain
-- 查看topic详情
bin/kafka-topics.sh --zookeeper localhost:2181 --topic cm-yyzmain --describe
-- 查看已经创建的Topic信息
bin/kafka-topics.sh --list --zookeeper localhost:2181
-- 发送消息
bin/kafka-console-producer.sh --broker-list 192.168.44.130:9092 --topic cm-yyzmain
-- 接收消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.44.130:9092 --topic cm-yyzmain --from-beginning
-- 查询消费者组的消费者信息
bin/kafka-consumer-groups.sh --bootstrap-server 192.168.44.130:9092 --describe --group yyzmain-group
docker环境下安装kafka
创建网络
docker network create kafka-net
安装zk
docker run -d --name zookeeper --network kafka-net -p 2181:2181 -e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper
拉取kafka镜像
docker pull bitnami/kafka:2.4
启动kafka
-- 本地访问
docker run -d --name kafka -p 9092:9092 --network kafka-net -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 bitnami/kafka:2.4.1
-- 远程访问
docker run -d --name kafka -p 9092:9092 --network kafka-net -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.88.129:9092 -e KAFKA_CFG_ZOOKEEPER_CONNECT=192.168.88.129:2181 bitnami/kafka:2.4.1
需要修改其中的ip
常用命令
-- 创建topic
docker exec -it kafka /opt/bitnami/kafka/bin/kafka-topics.sh --create --topic cm-yyzmain --partitions 1 --replication-factor 1 --zookeeper zookeeper:2181
-- 查看已经创建的Topic信息
docker exec -it kafka /opt/bitnami/kafka/bin/kafka-topics.sh --list --zookeeper zookeeper:2181
-- 查看消费者组消费情况
bin/kafka-consumer-groups.sh --bootstrap-server ${ip}:${port} --describe --group ${groupId}
可视化工具连接kafka
连接工具点击下载
注意查看防火前状态,详情请查看Centos7开放及查看端口