ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Zookeeper模式安装Kafka(含通例、容器两种安装方式)
[打印本页]
作者:
天空闲话
时间:
2025-1-2 06:05
标题:
Zookeeper模式安装Kafka(含通例、容器两种安装方式)
一、#创作灵感#
公司使用Kafka的软件项目较多,故写技术条记巩固知识要点
二、软件情况
- Kafka 3.9.0 官方下载地点:Kafka 3.9.0
- ZooKeeper 3.9.3 官方下载地点:ZooKeeper 3.9.3
- Docker Desktop 4.37 容器图形化工具 官方下载地点:Docker Desktop 4.37
特别说明
-
Docker Desktop仅仅是Windows下镜像用,如有能爬楼的服务器可不安装此软件
- 本文以单机模式为例
三、通例方式安装
非容器化Zookeeper Mode(模式)安装
1、下载zookeeper
参见上面的软件情况章节的下载地点
2、修改zookeeper设置
# zk临时数据目录,根据实际调整
dataDir=/tmp/zookeeper
# 管理端口,如果一台机器只启一个可不配置,启多个要配置每个zk的管理端口要不同
admin.serverPort=8181
复制代码
3、启动内置/外置zookeeper(二选一)
- 启动内置zookeeper
# Start the ZooKeeper service
$ bin/zookeeper-server-start.sh config/zookeeper.properties
复制代码
- 启动外置zookeeper
# Start the ZooKeeper service
$ bin/zkServer.sh start
复制代码
5、下载kafka
下载地点见:软件情况章节
6、修改(zookeeper模式启动)Kafka设置
vi $KAFKA_HOME/config/server.properties
##### 主要配置如下
# ip 端口,根据实际修改
listeners=PLAINTEXT://10.130.***.**:19092
# 日志文件目录
log.dirs=/tmp/kafka-logs
# zookeeper地址
zookeeper.connect=localhost:2181
复制代码
7、Zookeeper模式启动Kafka
# Start the Kafka broker service
$ bin/kafka-server-start.sh config/server.properties
复制代码
四、容器方式安装
容器化Zookeeper Mode(模式)安装
内置zookeeper和外置zookeeper二选一
1、容器启动Kafka-内置zk(一体化)方式
- 下载镜像
下载一体化官方镜像
$ docker pull confluentinc/cp-kafka:5.5.0
复制代码
- dockerfile
dockerfile以开源Confluent Kafka为基顾打一个定制化的镜像
# 使用Kafka官方镜像
FROM confluentinc/cp-kafka:5.5.0
# 设置环境变量以启用内置的Zookeeper实例
ENV KAFKA_ZOOKEEPER_CONNECT=localhost:2181
ENV KAFKA_BROKER_ID=1
ENV KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
ENV KAFKA_LISTENERS=INTERNAL://:9092,EXTERNAL://:19092
ENV KAFKA_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,EXTERNAL://localhost:19092
ENV KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
ENV KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
# 复制Kafka配置文件
COPY ./config/ /etc/kafka/config/
# 复制Zookeeper配置文件
COPY ./zookeeper.properties /etc/kafka/zookeeper.properties
# 复制Kafka配置文件
COPY ./server.properties /etc/kafka/server.properties
# 设置容器工作目录
WORKDIR /etc/kafka
# 暴露Kafka和Zookeeper的端口
EXPOSE 2181 9092 19092
# 启动Kafka和Zookeeper
CMD ["start-kafka.sh", "--zookeeper"]
复制代码
- 使用镜像启动容器
# 假设打好的镜像id是fe7e6a65afa5
docker run \
--name=cp-kafka \
-p 2181:2181 \
-p 9092:9092 \
-p 19092:19092 \
-d fe7e6a65afa5
复制代码
2、容器启动Kafka-外置zk
- 下载镜像
下载Zookeeper和Kafka两个镜像
$ docker pull wurstmeister/zookeeper:3.9.3
$ docker pull wurstmeister/kafka:3.9.0
复制代码
- docker-compose.yml
docker-compose编排zookeeper和kafka两个镜像
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
复制代码
说明:
这将会启动一个Zookeeper和Kafka的容器实例。确保你已经安装了Docker和Docker Compose。这个设置适用于开发和测试情况,不适合生产情况,因为它将Kafka和Zookeeper袒露到同一个宿主机的端口上,可能会有安全问题
- 使用docker-compose启动容器
docker-compose up -d
复制代码
五、要点总结
- Zookeeper Mode使用的设置是$KFAKA_HOME/config/server.properties
- Kraft Mode使用的设置是$KFAKA_HOME/config/kraft/server.properties
- Kraft Mode启动见作者的文章:Kraft模式安装Kafka
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4