Apache Kafka(3) - 카프카 기본 커맨드 라인1

KIM IL HWAN·2022년 2월 16일
0

apache-kafka

목록 보기
3/4
post-thumbnail

이전 글에서는 EC2 인스턴스에 카프카 프로커, 주키퍼를 설치 후 로컬PC를 통해 통신을 확인하는 방법까지 알아봤습니다.
이번 글에서는 실제 카프가 운영환경에서 기본적이고 필수적인 명령어를 실행하여 토픽의 생성과 수정, 파티션 수정, 데이터를 전송하고 받는 방법들을 알아보겠습니다.

토픽의 생성과 조회 수정


kafka-topics.sh

토픽은 카프카에서 빠질 수 없는 중요요소 이며, 카프카에서 데이터를 구분하는 가장 기본적인 개념 입니다. DB의 테이블의 개념과 유사할 수 있습니다.
카프카 클러스터에서 토픽은 여러개 존재할 수 있으며, 파티션도 존재합니다. 기본값으로 파티션은 1개부터 시작합니다. 파티션은 카프카에서 토픽을 구성하는데 필수요소이며, 파티션 구성으로 한 번에 처리할 수 있는 데이터양을 늘리거나 데이터의 종류를 나눠 처리할 수 있기 때문입니다.

토픽생성

kafaka-topics.sh 명령을 통해 토픽을 생성할 수 있다.

$ bin/kafka-topics.sh /
	--create / --1: create 옵션으로 토픽 생성
    --bootstrap-server my-kafka:9092 \ --2: 통신하게 되는 카프카 브로커의 ip, port를 적는다.
    --topic hello.kafka --3: 토픽의 이름 작성



--partitions : 파티션의 개수 지정
--replication-factor : 토픽의 파티션을 복제할 복제 개수 
(1:복제사용하지 않음, 2:1개의 복제본 사용, 최대 설정값은 통신하는 카프카 브로커의 개수)
--config : kafka-topics.sh 명령에 포함되지 않은 추가적인 설정
--retention.ms: 토픽의 데이터를 유지하는 기간


토픽의 리스트 조회

--list 옵션으로 생성된 토픽의 이름들 조회가 가능합니다.

--describe 옵션으로 파티션의 개수가 몇 개인지, 폭제된 파티션이 위치한 브로커의 번호, 토픽이 가진 파티션의 리더가 현재 어느 브로커에 존재하는지 등등 보다 상세한 정보 확인이 가능합니다.

토픽 옵션 수정

토픽에 설정된 옵션을 변경하기 위해서는 2가지의 명령을 사용합니다.
kafka-topics.sh : 파티션의 개수 변경
kafka-configs.sh : 리텐션 기간 변경

--alter --partions : alter 명령어로 토픽의 파티션 개수를 변경합니다. db 테이블 수정 명령어와 비슷하죠

파티션 변경으로 0부터 시작되는 파티션 번호가 3번까지 생성 되었습니다.

retention.ms를 수정하기 위해 kafka-configs.sh와 --alter, --add-config 옵션을 사용했습니다.
--add-config 옵션을 사용하면 이미 존재하는 설정값은 변경하고 존재하지 않는 설정값은 신규로 추가하게 됩니다.

0개의 댓글