如何使用 KPL 将数据记录放入 Kinesis 数据流中?

2 分钟阅读
0

我想要使用 Amazon Kinesis Producer Library (KPL) 将数据记录写入和放入 Kinesis 数据流。我该如何操作?

简短描述

要使用 KPL 将记录放入 Kinesis 数据流中,您必须满足以下要求:

  • 您有一个正在运行的 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例。
  • 已有一个 AWS Identity and Access Management (IAM) 角色附加到您的实例。
  • KinesisFullAccess 策略已附加到实例的 IAM 角色。

解决方法

要使用 KPL 将记录放入 Kinesis 数据流,请执行以下操作:

1.    连接到您的 Linux 实例

2.    安装最新版本的 OpenJDK 8 开发人员包:

sudo yum install java-1.8.0-openjdk-devel

3.    确认已安装 Java:

java -version

预期输出如下所示:

java version "1.7.0_181"
OpenJDK Runtime Environment (amzn-2.6.14.8.80.amzn1-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)

4.    运行以下命令,将 java 1.8 设置为默认 javajavac 提供程序:

sudo /usr/sbin/alternatives --config java 
sudo /usr/sbin/alternatives --config javac

5.    添加带有 Apache Maven 包的存储库:

sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

6.    设置 Maven 包的版本号:

sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

7.    使用 yum 安装 Maven:

sudo yum install -y apache-maven

8.    确认已正确安装 Maven:

mvn -version

预期输出如下所示:

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/apache-maven
Java version: 1.7.0_181, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.14.33-51.37.amzn1.x86_64", arch: "amd64", family: "unix"

9.    安装 Git,然后从 Amazon Web Services – 实验室下载 KPL:

sudo yum install git
git clone https://github.com/awslabs/amazon-kinesis-producer

10.    打开 amazon-kinesis-producer/java/amazon-kinesis-producer-sample/ 目录,然后列出文件:

cd amazon-kinesis-producer/java/amazon-kinesis-producer-sample/
ls
default_config.properties  pom.xml  README.md  src  target

11.    运行类似于以下内容的命令,以创建 Kinesis 数据流:

aws kinesis create-stream --stream-name kinesis-kpl-demo --shard-count 2

有关所需分区数量的更多信息,请参阅重新分区、扩展和并行处理

12.    运行 list-streams 来确认流已经创建:

aws kinesis list-streams

13.    打开 Amazon Web Services – 实验室 GitHub 存储库上的 SampleProducer.java 文件,然后修改以下字段:
对于公有静态最终字符串 STREAM_NAME_DEFAULT,输入先前创建的 Kinesis 数据流的名称。
对于公有静态最终字符串 REGION_DEFAULT,输入您正在使用的区域。

示例:

cd src/com/amazonaws/services/kinesis/producer/sample
vi SampleProducerConfig.java

public static final String STREAM_NAME_DEFAULT = "kinesis-kpl-demo";
public static final String REGION_DEFAULT = "us-east-1";

14.    在 amazon-kinesis-producer-sample 目录中运行以下命令,以允许 Maven 下载该目录的所有依赖项:

mvn clean package

15.    在 amazon-kinesis-producer-sample 目录中运行以下命令,以运行创建器并将数据发送到 Kinesis 数据流:

mvn exec:java -Dexec.mainClass="com.amazonaws.services.kinesis.producer.sample.SampleProducer"

16.    检查 Kinesis 控制台监控选项卡上的**传入数据(计数)**图,以验证发送到流的记录数。

**注意:**记录数可能少于发送到数据流的记录数。记录数量可能由于 KPL 使用聚合而减少。


相关信息

使用 KPL 写入您的 Kinesis 数据流

相关视频

AWS 官方
AWS 官方已更新 4 年前