更新时间:2023-05-06 GMT+08:00

步骤一:准备环境

虚拟私有云

虚拟私有云(Virtual Private Cloud,以下简称VPC)为Kafka实例提供一个隔离的、用户自主配置和管理的虚拟网络环境。

  1. 在创建Kafka实例前,确保已存在可用的虚拟私有云和子网。

    创建方法,请参考创建虚拟私有云和子网。如果您已有虚拟私有云和子网,可重复使用,不需要多次创建。

    在创建VPC和子网时应注意如下要求:

    • 创建的VPC与使用的Kafka服务应在相同的区域。
    • 创建VPC和子网时,配置参数建议使用默认配置。

  2. 在创建Kafka实例前,确保已存在可用的安全组。

    创建方法,请参考创建安全组。如果您已有安全组,可重复使用,不需要多次创建。

    在创建安全组时应注意如下要求:

    • 创建安全组时,“模板”选择“自定义”。
    • 使用Kafka实例必须添加表1所示安全组规则,其他规则请根据实际需要添加。
      表1 安全组规则

      方向

      协议

      端口

      源地址

      说明

      入方向

      TCP

      9094

      0.0.0.0/0

      通过公网访问Kafka实例(关闭SSL加密)。

      入方向

      TCP

      9092

      0.0.0.0/0

      使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。

      入方向

      TCP

      9095

      0.0.0.0/0

      通过公网访问Kafka实例(开启SSL加密)。

      入方向

      TCP

      9093

      0.0.0.0/0

      使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。

      入方向

      TCP

      9999

      0.0.0.0/0

      访问Kafka Manager。

      安全组创建后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则。此时使用内网通过同一个VPC访问Kafka实例,无需添加表1的规则。

(可选)弹性IP地址

如果需要通过公网访问Kafka实例,请提前准备弹性IP地址。

创建方法,请参考申请弹性公网IP

在创建弹性IP地址时应注意如下要求:

  • 创建的弹性IP地址与Kafka实例在相同的区域。
  • 弹性IP地址的数量必须与Kafka实例的代理个数相同。
  • Kafka控制台无法识别开启IPv6转换功能的弹性IP地址。

弹性云服务器

在连接Kafka实例之前,需要先创建弹性云服务器(Elastic Cloud Server,以下简称ECS),JDK安装、环境变量配置以及Kafka开源客户端下载。本文以Linux系统的ECS为例,Windows系统ECS的JDK安装与环境变量配置可自行在互联网查找相关帮助。

  1. 登录管理控制台,在左上角单击,选择“计算 > 弹性云服务器”,创建一个ECS实例。

    具体创建操作,请参考创建弹性云服务器。如果您已有可用的ECS,可重复使用,不需要再次创建。

  2. 登录弹性云服务器。
  3. 安装Java JDK或JRE,并配置JAVA_HOME与PATH环境变量,使用执行用户在用户家目录下修改“.bash_profile”,添加如下行。其中“/opt/java/jdk1.8.0_151”为JDK的安装路径,请根据实际情况修改。

    export JAVA_HOME=/opt/java/jdk1.8.0_151 
    export PATH=$JAVA_HOME/bin:$PATH

    执行source .bash_profile命令使修改生效。

    ECS默认自带的JDK可能不符合要求,例如OpenJDK,需要配置为Oracle的JDK,可至Oracle官方下载页面下载Java Development Kit 1.8.111及以上版本

  4. 下载开源的Kafka客户端。

    对应1.1.0版本实例的下载地址:https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz

    wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz

    对应2.3.0版本实例的下载地址:https://archive.apache.org/dist/kafka/2.3.0/kafka_2.11-2.3.0.tgz

    wget https://archive.apache.org/dist/kafka/2.3.0/kafka_2.11-2.3.0.tgz

    对应2.7版本实例的下载地址:https://archive.apache.org/dist/kafka/2.7.2/kafka_2.12-2.7.2.tgz

    wget https://archive.apache.org/dist/kafka/2.7.2/kafka_2.12-2.7.2.tgz

  5. 解压Kafka客户端文件。

    tar -zxf ${kafka_tar}

    kafka_tar表示客户端的压缩包名称。例如:

    tar -zxf kafka_2.12-2.7.2.tgz