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 &

1

其它常用命令

-- 停止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开放及查看端口