Skip to main content

快速入门

Apache Kafka 一个开源流处理平台,由 Scala 和 Java 编写。Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据(网页浏览,搜索和其他用户的行动)。

部署 Websoft9 提供的 kafka 之后,请参考下面的步骤快速入门。

准备

  1. 在云控制台获取您的 服务器公网IP地址
  2. 在云控制台安全组中,确保 Inbound(入)规则 下的 TCP:9092,2181 端口已经开启
  3. 在服务器中查看 kafka 的 默认账号和密码
  4. 若想用域名访问 kafka ,务必先完成 域名五步设置 过程

Kafka 初始化向导

使用SSH登录到服务器后,运行如下几个命令,检查 Kafka是否正确安装

cd /data/apps/kafka && sudo docker compose ls

Kafka 正常运行会得到 " STATUS: running(3) " 的反馈

Kafka 使用入门

Kafka Quickstart 或以 Github 上的项目通过 Kafka 自动构建部署 作为一个任务,帮助用户快速入门:

Kafka 常用操作

可视化工具

本预装包中内置 Kafka 可视化集群管理工具 CMAK ,使用请参考如下步骤:

  1. 本地浏览器 Chrome 或 Firefox 访问:http://服务器公网IP:9091,进入 CMAK 登录页面(不知道密码?)

  2. 成功登录后,开始新建集群 创建kafka集群

  3. CMAK 成功连接 Kafka 创建kafka集群成功

日志管理

启用默认日志清理策略

Kafka 默认设置保留 7 天日志,但默认并为启用日志清理策略。运行如下命令后启用:

# 打开日志删除策略
docker exec -it kafka sed -i '/log.retention.hours=168/i\log.cleanup.policy=delete' /opt/bitnami/kafka/config/server.properties

# 重启 [Kafka 服务](#service)
sudo docker restart kafka

自定义日志清理策略

用户可以自定义日志清理策略,具体步骤如下:

  1. 进入kafka容器

    sudo docker exec -it kafka bash
  2. 修改 /opt/bitnami/kafka/config/server.propertie 文件中相关的参数

    log.cleanup.policy=delete #添加 启用删除策略配置段
    log.retention.hours=168 #默认7天
    log.retention.check.interval.ms=300000 #默认每5分钟检查一次
    log.segment.bytes=1073741824 #默认每个segment的大小为1GB
  3. 重启 Kafka 服务

    sudo docker restart kafka

参数

Kafka 应用中包含 Nginx, CMAK, Docker, Zookeeper, Java 等组件,可通过 通用参数表 查看路径、服务、端口等参数。

通过运行 docker ps,可以查看到 Kafka 运行时所有的 Container:

CONTAINER ID   IMAGE                                         COMMAND                  CREATED          STATUS          PORTS                                                                     NAMES
e628a73126fd bitnami/kafka:2.8 "/opt/bitnami/script…" 36 minutes ago Up 36 minutes 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp kafka
219ebeafc96c bitnami/zookeeper:latest "/opt/bitnami/script…" 36 minutes ago Up 36 minutes 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 8080/tcp kafka-zookeeper
84ff90680786 ghcr.io/eshepelyuk/dckr/cmak-3.0.0.5:latest "/cmak/bin/cmak -Dpi…" 36 minutes ago Up 36 minutes 0.0.0.0:9091->9000/tcp, :::9091->9000/tcp kafka-cmak

下面仅列出 Kafka 本身的参数:

路径

Kafka 安装目录:/data/apps/kafka
Kafka 数据目录:/data/apps/kafka/data/kafka_data
Zookeeper 数据目录:/data/apps/kafka/data/zookeeper_data

端口

端口号用途必要性
9092Kafka可选
2181Zookeeper可选
9091CMAK可选

版本

# Kafka version
docker exec -i kafka /opt/bitnami/kafka/bin/kafka-topics.sh --version

# CMAK version
docker exec -it kafka-cmak bash -c 'ls /cmak/lib/cmak.cmak-*-assets.jar'|awk -F"-" '{print $2}'

服务

sudo docker start | stop | restart kafka
sudo docker start | stop | restart kafka-cmak
sudo docker start | stop | restart kafka-zookeeper

命令行

# kafka
docker exec -it kafka /opt/bitnami/kafka/bin/kafka-console-consumer.sh --bootstrap-server youip:port --consumer.config consumer.properties --topic my-topic

# ZooKeeper client
docker exec -it kafka-zookeeper zkCli.sh -server IP:2181

API

Kafka APISKafka Clients