AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

KPL을 사용해 Kinesis 데이터 스트림에 데이터 레코드를 넣으려면 어떻게 해야 하나요?

3분 분량
0

KPL(Amazon Kinesis Producer Library)을 사용해 데이터 레코드를 작성하고 Amazon Kinesis 데이터 스트림에 추가하려고 합니다.

해결 방법

사전 요구 사항:

  • Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스 실행
  • AWS Identity and Access Management(AWS 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

    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"
  8. git을 설치하고 GitHub 웹 사이트에서 KPL을 다운로드하세요.

    sudo yum install gitgit clone https://github.com/awslabs/amazon-kinesis-producer
  9. **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`
  10. 다음과 유사한 명령을 실행해 Kinesis 데이터 스트림을 생성합니다.

aws kinesis create-stream --stream-name kinesis-kpl-demo --shard-count 2
  1. list-streams를 실행해 스트림이 생성되었는지 확인하세요.
aws kinesis list-streams
  1. GitHub 리포지토리에서 SampleProducer.java 파일을 열고 다음 필드를 수정하세요.
    public static final String STREAM_NAME_DEFAULT의 경우 이전에 생성한 Kinesis 데이터 스트림의 이름을 입력합니다.
    public static final String REGION_DEFAULT의 경우 사용 중인 AWS 리전을 입력합니다.
    예시:
cd src/com/amazonaws/services/kinesis/producer/samplevi SampleProducerConfig.java
public static final String STREAM_NAME_DEFAULT = "kinesis-kpl-demo";
public static final String REGION_DEFAULT = "us-east-1";
  1. Maven에서 디렉터리의 모든 종속 항목을 다운로드할 수 있도록 하려면amazon-kinesis-producer-sample 디렉터리에서 다음 명령을 실행하세요.
mvn clean package
  1. 프로듀서를 실행하고 Kinesis 데이터 스트림으로 데이터를 전송하려면 amazon-kinesis-producer-sample 디렉터리에서 다음 명령을 실행하세요.
mvn exec:java -Dexec.mainClass="com.amazonaws.services.kinesis.producer.sample.SampleProducer"
  1. 스트림으로 전송된 레코드 수를 확인하려면 Kinesis 콘솔모니터링 탭에서 수신 데이터(개수) 그래프를 확인하세요.

**참고:**레코드 수는 데이터 스트림으로 전송된 레코드 수보다 적을 수 있습니다. KPL에서 집계를 사용하기 때문에 레코드 수가 줄어들 수 있습니다.

관련 정보

KPL을 사용하여 Kinesis 데이터 스트림에 쓰기

재분할, 크기 조정, 병렬 처리

AWS 공식
AWS 공식업데이트됨 8달 전