728x90
topic 생성하기
docker exec -it 카프카컨테이너이름 kafka-topics --create --topic 토픽이름 --bootstrap-server kafka:9092 --replication-factor 1 --partitions 1
해당 메세지를 입력했는데 Log4j canot read 오류가 뜬다면 참고 🛠️링크
- kafka-topics:
- 카프카 토픽에 대한 명령을 실행한다.
- --create:
- 토픽을 생성하겠다는 의미이다.
- --topic :
- 생성할 토픽 이름을 지정한다.
- --bootstrap-server service:port
- bootstrap-server는 kafak 브로커 서비스를 나타낸다. 이때 서비스:포트 로 지정하여 접근할 수 있다.
- --replication-factor 1:
- 복제 계수를 지정한다.
- 여기서는 1로 지정했다.
- --partition:
- 토픽내에 파티션 개수를 지정한다.
Topic 리스트 확인하기
kafka-topics.sh --list --bootstrap-server [ip:port]
#kafka-topics.sh --list --bootstrap-server kafka:9092
해당 카프카서버에 연결되어 있는 토픽리스트를 확인합니다.
- --bootstrap-server: 카프카 서버의 주소를 입력합니다.
토픽 상세 조회
docker exec -it 카프카컨테이너이름 kafka-topics.sh --describe --topic my-topic --bootstrap-server kafka:9092
- kafka-topics:
- 카프카 토픽에 대한 명령을 실행한다.
- --describe:
- 생성된 토픽에 대한 상세 설명을 보여달라는 옵션이다.
- --topic :
- 생성한 토픽 이름을 지정한다.
- --bootstrap-server service:port
- bootstrap-server는 kafak 브로커 서비스를 나타낸다. 이때 서비스:포트 로 지정하여 접근할 수 있다.
- 결과로 토픽이름, 아이디, 복제계수, 파티션, 리더, 복제정보, isr 등을 확인할 수 있다.
컨슈머 실행하기 - topic 데이터 조회 (consumer) / 토픽에서 데이터 가져오기
- 이제 브로커를 만들었으니 브로커로 부터 메시지를 수신해 보자.
- 컨슈머를 먼저 실행하는 이유는, 일반적으로 컨슈머가 메시지를 컨슘하려고 대기하고 있고,
송신자가 메시지를 생성해서 보내기 때문이다.
docker exec -it 카프카컨테이너이름 /bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my_topic
- --topic 토픽명
- 컨슘할 토픽을 지정
- --from-beginning
- 앞서 들어온 메세지를 모두 읽는다. (옵션)
- --bootstrap-server service:port
-
- bootstrap-server는 kafak 브로커 서비스를 나타낸다.
-
프로듀서 실행하기 - topic 데이터 발행 (producer) / 토픽에 데이터 추가
- 새로운 터미널을 실행 시킨다.
- 컨슈머가 메시지를 수신대기 중이므로, 프로듀서를 통해 메시지 전송한다
docker exec -it 카프카컨테이너이름 /bin/kafka-console-producer.sh --topic my-topic --broker-list localhost:9092
- kafka-console-producer --topic <토픽이름> --broker-list kafka:9092
- 위 명령을 통해서 브로커의 토픽에 접근하여 메시지를 생성한다.
- '>' 표시가 나타나면 위와 같이 메시지를 작성해 보자.
topic offset 확인
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list [ip:port] --topic [topicName]
#kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list kafka:9092 --topic my-topic
- topic의 offset을 확인합니다.
- --broker-list: 카프카 서버의 주소를 입력합니다.
- --topic: 해당 토픽의 이름을 지정합니다.
728x90
'개-발 > Infra' 카테고리의 다른 글
[NCP] kafka 터미널 데이터 전송 (0) | 2023.06.12 |
---|---|
[NCP] Ncp kafka VM 생성 (0) | 2023.06.12 |
[Kafka] Kafka Zookeeper CMAK 설치 (feat.Docker , 멀티 브로커) (0) | 2023.06.07 |
[Kafka] Kafka 란 ? (0) | 2023.06.07 |
[Kafka] Zookeeper 란? (1) | 2023.06.07 |