작성
·
526
답변 1
0
안녕하십니까,
consumer로도 당연히 멀티 브로커 상에서 가능합니다.
앞에서부터 지속적으로 사용한 kafka-console-consumer 를 사용하시면 됩니다. --bootstrap-server localhost:9092 에서 broker별로 port 번호만 변경하시면 됩니다.
그런데 kafka-console-consumer를 사용하지 않고 kafka-dump-log를 사용한 이유는 Topic을 파티션 레벨로 보기 위해서 이를 이용한 것입니다. 그러니까 kafka-dump-log는 파티션 레벨의 로그 파일을 볼 수가 있습니다. 반면에 kafka-console-consumer는 파티션 단위는 안되고 Topic 단위의 메시지만 볼수가 있습니다.
감사합니다.
consumer가 읽지를 못한다는게 kafka-console-consumer를 수행하면 오류가 나오는 건가요? 아님 계속 메시지를 읽기 위해서 대기하고 있다는 건가요?
지금 보니까 멀티브로커를 위해 만들었던 kafka_start_01.sh, kafka_start_02.sh, kafka_start_03.sh 로 카프카를 구동하면 전부 컨슈머 연결이 안 됩니다. 브로커를 1개만 구동하고 컨슈머를 연결해도 안 됩니다. 반면 kafka_start.sh 로 구동한 카프카는 잘됩니다. properties 파일은 전부 강의에 나온대로 설정했습니다.
이게 multi kafka broker들이 기존에 생성된 zookeeper 정보를 참조하게 실습 환경이 구축되어 있다보니 consumer가 topic 정보를 찾을 때 꼬여(?) 버린것 같습니다.
원래는 기존의 zookeeper가 아닌 새로운 zookeeper를 참조하도록 실습 환경을 만들었어야 했는데, 기존 zookeeper와 kafka에서 만들어진 topic과 기존 zookeeper와 multi broker kafka로 만들어진 topic 명이 같을 경우에 producer/consumer가 오작동을 일으키는 것 같습니다.
이런 이슈가 생길것을 미리 감안하고 새로운 zookeeper를 띄우고 여기서 multi broker가 접속하도록 했어야 했는데 제 불찰이 큽니다.
좋은 정보 감사드립니다. 만약에 multi broker kafka를 급하게 실습해 보고 싶으시다면 topic명을 기존에 사용하지 않았던(그러니까 single broker에서 만들지 않은 새로운 topic) new-topic-p3r3 로 만들어서 테스트 해보시면 어떨까 싶습니다.
아무래도 여러가지 테스트를 하다보면 기존 single broker kafka와 multi broker kafka간에 동일한 topic명으로 실습을 하는 상황이 발생할 수 있기 때문에 실습 환경을 다시 세팅하고 해당부분의 강의 영상을 새로 만들어야 할 것 같습니다. 다른 일 제쳐두고 이것 부터 수정하도록 하겠습니다(강의 영상을 어느정도 수정해야 할지 먼저 확인은 해봐야 하겠지만, 늦어도 이번달 말까지는 완료하도록 하겠습니다)
답변 감사합니다.
위 스샷 처럼 topic-p2r2 를 partition 2에 replication-factor 2를 줘서 만들고
스샷처럼 kafka-console-consumer --bootstrap-server localhost:9092 --topic topic-p2r2 로 콘솔 컨슈머 가동 시켜도 읽지를 못합니다. 물론 --from-beginning 등을 넣고 해봐도 마찬가지입니다.
ui도 만들어서 producer 로 데이터가 잘 들어가는 것은 확인을 하였습니다. dump-log로도 데이터가 잘 읽히는 것을 보면 데이터는 잘 들어가는 것 같습니다. 그런데 ui에서도 consumer 연결 되면 consumer정보가 떠야 하는데 뜨지 않는걸 보면 kafka-console-consumer 로 제대로 연결이 안 되는 것 같습니다. 혹시 위에서 제가 잘못한 과정이 있을까요?