You need to enable JavaScript to run this app.
导航

快速开始

最近更新时间2023.10.17 23:07:57

首次发布时间2023.01.16 10:10:03

本文介绍如何在火山引擎 E-MapReduce(EMR)上,快速开始您的 Kafka 探索之旅。
请参考下面的步骤,在 EMR 引擎中创建一个 Kafka 的集群类型,并开始尝试 Kafka 的各项功能吧。

1 创建一个 Kafka 集群

您可以方便地在 EMR 的管理控制台中创建一个 Kafka 集群。具体操作步骤如下:

  1. 登录 EMR 控制台

  2. 在左侧导航栏中,集群管理 > 集群列表界面,单击创建集群按钮,进入集群创建页面。

  3. 在创建集群页面,选择分析场景实时计算集群类型Kafka

  4. 根据需要填写好其它的集群创建选项,确认无误后,单击立即创建,提交创建集群。详见创建集群

  5. 单击集群列表 > Kafka 集群名称, 进入集群详情页,可以查看集群创建的进度和操作日志

等待集群状态变更为运行中,说明集群已经创建成功了。这时您便可以开始尝试 EMR 引擎 Kafka 集群类型的各项功能了。

2 Kafka 节点部署说明

在 Kafka 集群中,Kafka Broker 部署在集群的 Master/Core 节点中,而 ZooKeeper 共三个节点,部署在集群的 Master 和 2 个 Core 节点中。在集群初始化的过程中,Kafka 集群的各个服务便会依次启动。您可通过以下路径查看 Kafka Broker 部署情况:

  • 集群列表 > Kafka 集群名称 > 服务列表 > Kafka 服务名称 > 部署拓扑

3 通过公网访问 Kafka 集群

3.1 EMR 3.4.X 及以前版本

说明

本小节内容适用于 EMR 3.4.X 及以前版本。EMR 3.5.0 及以后版本请查阅下一小节内容。

3.1.1 创建集群过程中绑定公网 IP

在创建集群的过程中,您还可以给 Master/Core 节点绑定公网 IP,方便从 Kafka 集群所处的 VPC 外部来访问 Kafka 集群。如果在创建集群的过程中给 Master/Core 节点绑定了公网 IP,系统会自动把相关的公网 IP 配置信息写入到 Kafka Broker 的 advertised.listeners 服务参数中。这时 Kafka Broker 可以通过公网 IP(端口号:19092)和内网地址(端口号:9092)访问。

3.1.2 创建集群成功后,再绑定公网 IP

如果在创建集群的过程中,没有选择给 Master/Core 节点绑定公网 IP,而后续产生了通过公网访问 Kafka 集群的需求,也可以选择手动给所有 Master/Core 节点绑定公网 IP,您需进行如下操作:

  1. Kafka 集群详情 > 服务列表 > Kafka 服务 > 服务参数,进入 Kafka 服务参数配置页。

  2. kafka-env 选项卡中,修改如下两项参数:

    • kafka_cluster_open_public_ip 配置为 true

    • kafka_broker_hostname_eip_map_str 配置为一个 JSON 字符串,key 为 Master/Core 节点的 hostname,value 为 Master/Core 节点的公网 IP。格式如:{"hostname_1": "EIP_1", "hostname_2": "EIP_2"}。需要将所有 Master/Core 节点的 hostname 到公网 IP 的映射关系都配置在这个 JSON 字符串中。

  3. kafka-broker 选项卡中,修改如下四项参数(如参数不存在,则添加自定义参数):

    • listeners 配置为INTERNAL://0.0.0.0:9092,EXTERNAL://0.0.0.0:19092

      注意

      按照上面的字符串原样录入即可,在录入时不需要做任何字符串替换。

    • listener.security.protocol.map 配置为INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT

    • inter.broker.listener.name 配置为INTERNAL

    • advertised.listeners 配置为INTERNAL://{{hostname}}:9092,EXTERNAL://HOST_PUBLIC_IP:19092

      注意

      按照上面的字符串原样录入即可,在录入时不需要做任何字符串替换。

  4. 参数配置完成后,单击右上角服务操作 > 重启按钮,重启 Kafka 服务。重启成功后,即可以通过公网 IP(端口号:19092)和内网地址(端口号:9092)访问 Kafka Broker。

3.1.3 advertised.listeners 配置项中添加本机内网 IP

您也可以在 Kafka Broker 的 advertised.listeners 配置项中,添加本机的内网 IP(而非 hostname)为内网访问地址,以支持一些情况下的访问(例如:客户端可以访问到 Broker 的内网 IP,但无法解析 Broker 的 hostname 的情况)。
由于每个节点的 IP 地址不同,所以在管理控制台的 Kafka 组件服务参数配置页面中,需要以 {{host_ip}} 变量来指代具体每个节点的实际 IP 地址。例如:

  • PLAINTEXT://{{host_ip}}:9092 (对应创建集群时 Master/Core 节点未绑公网 IP 的情况。注: 此时可能 Kafka 服务没有 advertised.listeners 这个参数,您需要新增 advertised.listeners 参数)

  • INTERNAL://{{host_ip}}:9092,EXTERNAL://HOST_PUBLIC_IP:19092 (对应创建集群时 Master/Core 节点绑定公网 IP 的情况)。

3.2 EMR 3.5.0 及以后版本

如果您需要通过公网访问 Kafka Broker,可以在创建集群时或创建集群后给 Master/Core 节点绑定公网 IP。Kafka Broker 的 advertised.listeners 参数配置的是支持通过公网/内网访问的统一域名。Kafka Broker 处于运行状态时,就可以通过公网访问 Kafka Broker 了。

4 登录 Kafka Broker 节点

登录到 Kafka Broker 节点中,并执行常用命令。
Kafka 集群创建成功且正常运行后,便可使用 Kafka 的各项功能了。
下文介绍一种快速使用、验证 Kafka 功能的方式:通过命令行模式生产消息,并消费生产出来的消息,查看 Kafka 的运行日志。
具体操作步骤如下:

  1. 登录 EMR 控制台

  2. 单击集群列表 > Kafka 集群名称 > 节点管理, 进入节点组列表界面。

  3. 您可任意展开选择 CoreGroup 的一个节点,例如单击 core-1-1 的节点 ID,进入节点的 ECS 详情页面。

  4. 在节点的 ECS 详情页面中,单击右上角远程连接,并选择一种远程连接方式(推荐选择 ECS Terminal),输入相关的认证等信息,登录到 Kafka 集群的一台主机的命令行环境中,以执行命令行操作。

  5. 在 Kafka 集群的某台 Core 节点 的命令行终端中,切换当前工作目录到 Kafka 程序的主目录:

    cd /usr/lib/emr/current/kafka
    
  6. 可以尝试执行各种 Kafka 常用命令。详见基础使用

  7. 命令执行完成后,您可以查看 Kafka 的运行日志。Kafka 是分布式系统,在各个节点中都有对应的运行日志。Kafka 运行日志所在的目录是:/var/log/emr/kafka。可以进入各个节点的上述目录查看 Kafka 的运行日志。

完成上述步骤后,您已经成功尝试完成了 Kafka 集群的试用以及运行日志的查看。接下来可以更深入地探索并使用 Kafka 了。

5 使用 Kafka Manager (CMAK)

说明

本节内容仅适用于 EMR 3.5.0 及以后的版本。

您可以通过 Kafka Manager (CMAK) 的 Web UI 来管理 Kafka 集群。
在通过公网访问 Kafka Manager 之前,需要先确认以下事项:

  • Kafka 集群的 Master 节点已绑定公网 IP。

  • Kafka 集群 Master 节点的安全组规则配置中,已向待访问 Kafka Manager 的机器(如办公机)开放 19001 端口的访问。您可在 Kafka 集群详情页的“访问链接”页签中,单击右上角“配置服务端口”按钮来快捷添加入方向访问规则。

进入 Kafka Manager 的操作步骤如下:

  1. 集群列表页中,单击集群名称,进入 Kafka 集群详情页中。

  2. 在集群详情页,单击访问链接页签,进入服务链接界面。

  3. 单击 Kafka Manager 的访问链接,进入 Kafka Manager 的登录界面。

alt

  1. 输入您在 EMR 控制台 集群详情 > 用户管理页面,通过 IAM 用户导入或手动添加的用户名和密码信息,来登录 Kafka Manager。用户名密码操作详见用户管理

注意

由于 Kafka Manager 可能不支持一些高版本的 Kafka,在 Kafka Manager 配置集群信息的时候,选择 Kafka 版本时,可以选择与集群中 Kafka 实际版本最接近的版本。

6 进一步使用 Kafka

尝试过 Kafka 的基本使用后,您可以进一步探索 Kafka。您可以参考 EMR 帮助文档中 Kafka 相关的更多文档,例如高阶使用等,也可以参考 Kafka 的官方网站学习更多的使用方法:https://kafka.apache.org/