기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
4단계: Amazon MSK 클러스터에서 주제 생성
Amazon MSK 사용 시작하기 단계에서는 클라이언트 머신에 Apache Kafka 클라이언트 라이브러리 및 도구를 설치한 다음 주제를 생성합니다.
주의
이 자습서에서 사용된 Apache Kafka 버전 번호는 예제일 뿐입니다. MSK 클러스터 버전과 동일한 버전의 클라이언트를 사용하는 것을 권장합니다. 이전 클라이언트 버전에는 특정 기능과 중요한 버그 수정이 없을 수 있습니다.
MSK 클러스터 버전 확인
https://console.aws.amazon.com/msk/
에서 Amazon MSK 콘솔을 엽니다. -
탐색 모음에서 MSK 클러스터를 생성한 리전을 선택합니다.
MSK 클러스터를 선택합니다.
클러스터에서 사용되는 Apache Kafka 버전을 확인합니다.
자습서에서 Amazon MSK 버전 번호의 인스턴스를 3단계에서 얻은 버전으로 변경합니다.
클라이언트 머신에서 주제 생성
-
클라이언트 시스템에 연결합니다.
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
탐색 창에서 인스턴스를 선택합니다. 그런 다음에서 생성한 클라이언트 시스템의 이름 옆에 있는 확인란을 선택합니다3단계: 클라이언트 머신 생성.
-
작업을 선택하고 연결을 선택합니다. 콘솔의 지침을 따라 클라이언트 머신에 연결합니다.
-
Java를 설치하고 Kafka 버전 환경 변수를 설정합니다.
-
다음 명령을 실행하여 클라이언트 시스템에 Java를 설치합니다.
sudo yum -y install java-11
-
다음 명령과
KAFKA_VERSION
같이 환경 변수에 MSK 클러스터의 Kafka 버전을 저장합니다. 설정 전반에 걸쳐이 정보가 필요합니다.export KAFKA_VERSION=
{KAFKA VERSION}
예를 들어 버전 3.6.0을 사용하는 경우 다음 명령을 사용합니다.
export KAFKA_VERSION=3.6.0
-
-
Apache Kafka를 다운로드하고 추출합니다.
-
Apache Kafka를 다운로드하려면 다음 명령을 실행합니다.
wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
예를 들어 MSK 클러스터가 Apache Kafka 버전 3.6.0을 사용하는 경우 다음 명령을 실행합니다.
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz
참고
다음 목록에는 문제가 발생할 경우 사용할 수 있는 몇 가지 대체 Kafka 다운로드 정보가 나와 있습니다.
-
연결 문제가 발생하거나 미러 사이트를 사용하려면 다음 명령과 같이 Apache 미러 선택기를 사용해 보세요.
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
-
Apache Kafka 웹
사이트에서 직접 적절한 버전을 다운로드합니다.
-
-
이전 단계에 TAR 파일을 다운로드한 디렉토리에서 다음 명령을 실행합니다.
tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
-
새로 생성된 디렉터리의 전체 경로를
KAFKA_ROOT
환경 변수 내에 저장합니다.export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
-
-
MSK 클러스터에 대한 인증을 설정합니다.
-
$KAFKA_ROOT/libs
디렉터리 내에서 최신 버전의 Amazon MSK IAM JAR 파일을 다운로드합니다. 다음 명령을 사용하여 파일을 다운로드하고{LATEST VERSION}
을 실제 버전 번호로 바꿉니다.cd $KAFKA_ROOT/libs wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-
{LATEST VERSION}
-all.jarAmazon MSK IAM JAR 파일을 사용하면 클라이언트 머신이 IAM 인증을 사용하여 MSK 클러스터에 액세스할 수 있습니다.
참고
MSK 클러스터와 상호 작용하는 Kafka 명령을 실행하기 전에 Java 클래스 경로에 Amazon MSK IAM JAR 파일을 추가해야 할 수 있습니다. 다음 예제와 같이
CLASSPATH
환경 변수를 설정합니다.export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-
{LATEST VERSION}
-all.jar이렇게 하면 전체 세션에
CLASSPATH
대해가 설정되므로 모든 후속 Kafka 명령에서 JAR을 사용할 수 있습니다. -
$KAFKA_ROOT/config
디렉터리로 이동하여 클라이언트 구성 파일을 생성합니다.cd $KAFKA_ROOT/config
-
다음 속성 설정을 복사하여 새 파일에 붙여넣습니다. 파일을
client.properties
(으)로 저장합니다.security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
-
-
(선택 사항) 메모리 관련 문제가 발생하거나 많은 주제 또는 파티션으로 작업하는 경우 Kafka 도구의 Java 힙 크기를 조정할 수 있습니다. 이렇게 하려면 Kafka 명령을 실행하기 전에
KAFKA_HEAP_OPTS
환경 변수를 설정합니다.다음 예제에서는 최대 힙 크기와 초기 힙 크기를 모두 512MB로 설정합니다. 특정 요구 사항 및 사용 가능한 시스템 리소스에 따라 이러한 값을 조정합니다.
export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
-
클러스터 연결 정보를 가져옵니다.
https://console.aws.amazon.com/msk/
에서 Amazon MSK 콘솔을 엽니다. -
클러스터 상태가 활성이 될 때까지 기다립니다. 몇 분 정도 걸릴 수 있습니다. 상태가 활성이 되면 클러스터 이름을 선택합니다. 클러스터 요약이 포함된 페이지로 이동합니다.
-
클라이언트 정보 보기를 선택합니다.
-
프라이빗 엔드포인트에 대한 연결 문자열을 복사합니다.
각 브로커에 대해 세 개의 엔드포인트를 가져옵니다. 다음 명령과
BOOTSTRAP_SERVER
같이 이러한 연결 문자열 중 하나를 환경 변수에 저장합니다.<bootstrap-server-string>
을 연결 문자열의 실제 값으로 바꿉니다.export BOOTSTRAP_SERVER=
<bootstrap-server-string>
-
다음 명령을 실행하여 주제를 생성합니다.
$KAFKA_ROOT/bin/kafka-topics.sh --create --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties --replication-factor 3 --partitions 1 --topic MSKTutorialTopic
client.properties
파일에NoSuchFileException
대한를 가져오는 경우이 파일이 Kafka bin 디렉터리 내의 현재 작업 디렉터리에 있는지 확인합니다.참고
전체 세션에 대해
CLASSPATH
환경 변수를 설정하지 않으려면 각 Kafka 명령에CLASSPATH
변수 접두사를 붙일 수도 있습니다. 이 접근 방식은 해당 특정 명령에만 클래스 경로를 적용합니다.CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-
{LATEST VERSION}
-all.jar \ $KAFKA_ROOT/bin/kafka-topics.sh --create \ --bootstrap-server $BOOTSTRAP_SERVER \ --command-config $KAFKA_ROOT/config/client.properties \ --replication-factor 3 \ --partitions 1 \ --topic MSKTutorialTopic -
(선택 사항) 주제가 성공적으로 생성되었는지 확인합니다.
-
명령이 성공하면 다음 메시지가 표시됩니다.
Created topic MSKTutorialTopic.
-
모든 주제를 나열하여 주제가 존재하는지 확인합니다.
$KAFKA_ROOT/bin/kafka-topics.sh --list --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties
명령이 실패하거나 오류가 발생하면에서 Amazon MSK 클러스터 문제 해결 문제 해결 정보를 참조하세요.
-
-
(선택 사항)이 자습서의 다음 단계를 위해 환경 변수를 유지하려면이 단계를 건너뜁니다. 그렇지 않으면 다음 예제와 같이 변수를 설정 해제할 수 있습니다.
unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS
다음 단계