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设置

  1. # zk临时数据目录,根据实际调整
  2. dataDir=/tmp/zookeeper
  3. # 管理端口,如果一台机器只启一个可不配置,启多个要配置每个zk的管理端口要不同
  4. admin.serverPort=8181
复制代码
3、启动内置/外置zookeeper(二选一)

- 启动内置zookeeper

  1. # Start the ZooKeeper service
  2. $ bin/zookeeper-server-start.sh config/zookeeper.properties
复制代码
 - 启动外置zookeeper

  1. # Start the ZooKeeper service
  2. $ bin/zkServer.sh start
复制代码
5、下载kafka

下载地点见:软件情况章节
6、修改(zookeeper模式启动)Kafka设置

vi $KAFKA_HOME/config/server.properties
  1. ##### 主要配置如下
  2. # ip 端口,根据实际修改
  3. listeners=PLAINTEXT://10.130.***.**:19092
  4. # 日志文件目录
  5. log.dirs=/tmp/kafka-logs
  6. # zookeeper地址
  7. zookeeper.connect=localhost:2181
复制代码
7、Zookeeper模式启动Kafka

  1. # Start the Kafka broker service
  2. $ bin/kafka-server-start.sh config/server.properties
复制代码

四、容器方式安装

容器化Zookeeper Mode(模式)安装
内置zookeeper和外置zookeeper二选一
1、容器启动Kafka-内置zk(一体化)方式

- 下载镜像

下载一体化官方镜像
  1. $ docker pull confluentinc/cp-kafka:5.5.0
复制代码
- dockerfile

dockerfile以开源Confluent Kafka为基顾打一个定制化的镜像
  1. # 使用Kafka官方镜像
  2. FROM confluentinc/cp-kafka:5.5.0
  3. # 设置环境变量以启用内置的Zookeeper实例
  4. ENV KAFKA_ZOOKEEPER_CONNECT=localhost:2181
  5. ENV KAFKA_BROKER_ID=1
  6. ENV KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
  7. ENV KAFKA_LISTENERS=INTERNAL://:9092,EXTERNAL://:19092
  8. ENV KAFKA_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,EXTERNAL://localhost:19092
  9. ENV KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
  10. ENV KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
  11. # 复制Kafka配置文件
  12. COPY ./config/ /etc/kafka/config/
  13. # 复制Zookeeper配置文件
  14. COPY ./zookeeper.properties /etc/kafka/zookeeper.properties
  15. # 复制Kafka配置文件
  16. COPY ./server.properties /etc/kafka/server.properties
  17. # 设置容器工作目录
  18. WORKDIR /etc/kafka
  19. # 暴露Kafka和Zookeeper的端口
  20. EXPOSE 2181 9092 19092
  21. # 启动Kafka和Zookeeper
  22. CMD ["start-kafka.sh", "--zookeeper"]
复制代码
- 使用镜像启动容器

  1. # 假设打好的镜像id是fe7e6a65afa5
  2. docker run \
  3. --name=cp-kafka \
  4. -p 2181:2181 \
  5. -p 9092:9092 \
  6. -p 19092:19092 \
  7. -d fe7e6a65afa5
复制代码
2、容器启动Kafka-外置zk

- 下载镜像

下载Zookeeper和Kafka两个镜像
  1. $ docker pull wurstmeister/zookeeper:3.9.3
  2. $ docker pull wurstmeister/kafka:3.9.0
复制代码
- docker-compose.yml

docker-compose编排zookeeper和kafka两个镜像
  1. version: '3'
  2. services:
  3.   zookeeper:
  4.     image: wurstmeister/zookeeper
  5.     ports:
  6.       - "2181:2181"
  7.   kafka:
  8.     image: wurstmeister/kafka
  9.     ports:
  10.       - "9092:9092"
  11.     environment:
  12.       KAFKA_ADVERTISED_HOST_NAME: localhost
  13.       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  14.     volumes:
  15.       - /var/run/docker.sock:/var/run/docker.sock
复制代码
说明:
    这将会启动一个Zookeeper和Kafka的容器实例。确保你已经安装了Docker和Docker Compose。这个设置适用于开发和测试情况,不适合生产情况,因为它将Kafka和Zookeeper袒露到同一个宿主机的端口上,可能会有安全问题
- 使用docker-compose启动容器

  1. 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