kafka的安装与配置

kafka的安装与配置

kafka的安装

在这我才用的是oracle云,系统是Ubuntu,在docker上按照的

安装docker

具体的安装方法请见docker-compose教程

查看docker版本

docker --version

Docker version 27.0.3, build 7d4bcd8

创建 Docker Compose 文件

Kafka 依赖 Zookeeper 来管理集群,因此我们需要创建一个 docker-compose.yml 文件来定义 Kafka 和 Zookeeper 的服务。

mkdir kafka
cd kafka
nano docker-compose.yml

编写文件:

version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - "2181:2181"

  kafka:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    ports:
      - "9092:9092"

ZOOKEEPER_CLIENT_PORT: 2181:设置环境变量,定义 Zookeeper 客户端连接的端口

启动 Kafka 和 Zookeeper

保存并退出编辑器后,运行以下命令来启动 Kafka 和 Zookeeper:

docker-compose up -d

这个命令将启动两个 Docker 容器:一个运行 Zookeeper,另一个运行 Kafka

docker启动

如果不会compose的,也可以正常走

#启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -e ZOOKEEPER_CLIENT_PORT=2181 confluentinc/cp-zookeeper:latest
#启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=1 \
  -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
  -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
  -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
  --link zookeeper:zookeeper confluentinc/cp-kafka:latest

命令解释:

-d:在后台运行 Kafka 容器。

--name kafka:容器名称为 kafka

-p 9092:9092:将主机的 9092 端口映射到容器的 9092 端口(Kafka 的默认端口)。

-e KAFKA_BROKER_ID=1:设置 Kafka broker ID 为 1。

-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181:指定 Kafka 连接的 Zookeeper 地址。

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092:设置 Kafka 广播的地址和端口。

--link zookeeper:zookeeper:将 Kafka 容器与 Zookeeper 容器链接。

检查容器状态

检查 Kafka 和 Zookeeper 容器是否运行正常

docker ps

连接到 Kafka

要连接 Kafka 进行操作(例如创建主题、发送或接收消息),首先进入 Kafka 容器

docker exec -it kafka bash

在 Kafka 容器内部,使用以下命令来创建主题并发送和接收消息:

# 创建主题
kafka-topics --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

# 向主题发送消息
kafka-console-producer --topic test --bootstrap-server localhost:9092

# 从主题读取消息
kafka-console-consumer --topic test --from-beginning --bootstrap-server localhost:9092

发送消息:

读取消息:

以上正常就表示kafka安装完成了

posted @ 2024-09-25 17:17  小学程序员  阅读(19)  评论(0编辑  收藏  举报