虚拟私有云
虚拟私有云(Virtual Private Cloud,以下简称VPC)为Kafka实例提供一个隔离的、用户自主配置和管理的虚拟网络环境。
步骤 1 在创建Kafka实例前,确保已存在可用的虚拟私有云和子网。
创建方法,请参考《虚拟私有云用户指南》的“创建虚拟私有云和子网”。如果您已有虚拟私有云和子网,可重复使用,不需要多次创建。
在创建VPC和子网时应注意如下要求:
- 创建的VPC与使用的Kafka服务应在相同的区域。
- 创建VPC和子网时,配置参数建议使用默认配置。
步骤 2 在创建Kafka实例前,确保已存在可用的安全组。
创建方法,请参考《虚拟私有云用户指南》的“创建安全组”。如果您已有安全组,可重复使用,不需要多次创建。
在创建安全组时应注意如下要求:
- 创建安全组时,“模板”选择“自定义”。
- 使用Kafka实例必须添加下表所示安全组规则,其他规则请根据实际需要添加。
表 安全组规则
方向 | 协议 | 端口 | 源地址 | 说明 |
---|---|---|---|---|
入方向 | 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。 |
入方向 | TCP | 9011 | 0.0.0.0/0 | 使用DNAT访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。 |
说明安全组创建后,系统默认添加入方向“允许安全组内的弹性云主机彼此通信”规则和出方向“放通全部流量”规则。此时使用内网通过同一个VPC访问Kafka实例,无需添加上表的规则。
(可选)弹性IP地址
如果需要通过公网访问Kafka实例,请提前准备弹性IP地址。
创建方法,请参考申请弹性公网IP。
在创建弹性IP地址时应注意如下要求:
- 创建的弹性IP地址与Kafka实例在相同的区域。
- 弹性IP地址的数量必须与Kafka实例的代理个数相同。
弹性云主机
在连接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:JAVAHOME/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