当前位置: 首页 > news >正文

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/zookeeperports:- "2181:2181"kafka:image: wurstmeister/kafkaports:- "9092:9092"environment:KAFKA_ADVERTISED_HOST_NAME: localhostKAFKA_ZOOKEEPER_CONNECT: zookeeper:2181volumes:- /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

http://www.lryc.cn/news/513664.html

相关文章:

  • 【游戏设计原理】41 - 游戏的核心
  • 机器学习算法基础知识1:决策树
  • [Qt] 信号和槽(1) | 本质 | 使用 | 自定义
  • 33. 简易内存池
  • win32汇编环境,对话框程序模版,含文本框与菜单简单功能
  • 人工智能与传统编程的主要区别是什么?
  • 实战交易策略 篇十一:一揽子交易策略
  • doris 2.1 -Data Manipulation-Transaction
  • 多模态融合:阿尔茨海默病检测
  • Ceph 手动部署(CentOS9)
  • 家政预约小程序05活动管理
  • 解决安装pynini和WeTextProcessing报错问题
  • 【PCIe 总线及设备入门学习专栏 4.1 -- PCI 总线的地址空间分配】
  • 华为配置 之 RIP
  • 探寻AI Agent:开启知识图谱自动生成新篇章(17/30)
  • 卸载wps后word图标没有变成白纸恢复
  • LeetCode 热题 100_二叉树的直径(40_543_简单_C++)(二叉树;递归)
  • 【数据结构】线性数据结构——链表
  • 开源存储详解-分布式存储与ceph
  • [算法] [leetcode-509] 斐波那契数
  • 运维人员的Go语言学习路线
  • [创业之路-222]:波士顿矩阵与GE矩阵在业务组合选中作用、优缺点比较
  • 安卓入门十一 常用网络协议四
  • 《机器学习》——利用OpenCV库中的KNN算法进行图像识别
  • StarRocks 存算分离在得物的降本增效实践
  • Tube Qualify弯管测量系统在汽车管路三维检测中的应用
  • udp分片报文发送和接收
  • 【从零开始入门unity游戏开发之——C#篇39】C#反射使用——Type 类、Assembly 类、Activator 类操作程序集
  • 安卓触摸事件的传递
  • idea项目导入gitee 码云