Confluent Control Center 에서 카프카(Kafka) 토픽(Topic) 생성하고 그 토픽에 샘플 데이터 스트리밍하기(Datagen)

 Confluent Control Center 는 웹 UI 도구입니다. 여기서 카프카를 관리하고 모니터링 할 수 있습니다. 그리고 Datagen 커넥터(connector)를 사용해서 카프카 토픽에 샘플 데이터를 계속해서 넣어주는 것도 가능합니다.

Control Center 에서 카프카(Kafka) 브로커(Broker) 모니터링(monitoring)
Control Center 에서 카프카 브로커 모니터링



컨트롤 센터에서 본 브로커 overview
컨트롤 센터에서 본 브로커 overview



설치는 지난 시간 내용을 참고하세요. 컨트롤 센터(Control Center)는 Confluent Platform 안에 포함되어 있습니다.

  • Control Center를 remote에서 접속하려면 설치에 사용한 docker-compose.yml을 열고 control-center의  ...ADVERTISED URLlocalhost 대신에 Confluent Platform을 설치한 서버의 정보(IP나 호스트네임)를 입력합니다.  예시) "http://1.1.1.1:8088"  포트번호 8088은 그대로 둡니다.    
yaml 파일의 advertised URL 수정

  • sudo docker-compose up -d  를 다시 실행해서 변경된 내용을 적용합니다.  그리고 웹브라우저에서 <접속하고자 하는 주소>:9021 로 접속합니다.  예) 1.1.1.1:9021                                      그럼 아래와 같은 컨트롤 센터 메인 화면이 보입니다. (변경된 내용을 적용하는 다른 명령어들도 있지만 우리가 계속 써왔던 저 명령어로도 잘되니 그냥 쉬운 방법으로 안내하는 중입니다. 다른 다양한 방법들까지 다 다루면 글이 너무 길어져서리)
Confluent Control Center 메인 화면
Confluent Control Center 메인 화면


##  여기서 막히시는 분들은 일단 포트를 열었는지 확인합니다. 그리고 Control Center 가 재기동하는데는 시간이 조금 걸립니다. 종종 프로세스들이 죽어서 접속이 안될 때도 있습니다. 이땐 sudo docker-compose ps 로 확인해서 프로세스들 상태가 다 UP으로 되어 있는지 확인해야 합니다. 가끔식 몇 개가 혼자 막 죽습니다...  터미널을 하나 더 띄워서 sudo watch docker-compose ps 로 모니터링 하는게 편합니다. sudo docker-compose up -d 를 다시 실행하면 죽은 프로세스만 다시 실행합니다.  이 과정을 몇 번 반복해야 될때도 많습니다.
docker-compose ps 명령어로 상태 확인
모든 프로세스가 Up 인지 확인

## 그래도 불안하면 웹브라우저 주소창에 <IP주소>:8088 을 실행합니다. 서버 준비가 안되면 아래와 같은 메세지가 뜹니다. (9021 말고 8088!)

8088 포트로 접속 후 서버 상태 확인
그리고 서버가 준비되면 아래와 같이 메세지가 뜹니다. 그럼 다시 <IP주소>:9021 ㄱㄱ 합니다. 컨트롤 센터가 정상 동작하기까지 시간이 좀 걸리는 점 유의하세요.
8088 포트로 접속 후 서버 상태 확인


  • 이제 카프카 토픽(topic)을 생성하겠습니다. Topics 메뉴로 가서 우측 상단의 Add a topic 버튼을 누릅니다.
컨트롤 센터에서 카프카 토픽 생성하기

  • 토픽 이름을 정하시고, 파티션 3개로 해서 Create with defaults 를 누릅니다.
컨트롤 센터에서 카프카 토픽 생성하기


  • 토픽이 생성되었습니다!
컨트롤 센터에서 카프카 토픽 생성하기


  • 토픽에 샘플 데이터를 넣을 것입니다. 데이터젠(Datagen)이란 카프카 커넥터(connector)로 샘플 데이터를 우리가 생성한 토픽에 실시간으로 계속해서 넣어줄 것입니다. Connect 메뉴로 가서 connect-default 를 클릭합니다.
데이터젠(datagen)으로 실시간 샘플 데이터 스트리밍하기

  • Add connector 버튼을 클릭합니다.
컨트롤 센터에서 커넥터 생성하기


  • DatagenConnector 를 선택합니다.
컨트롤 센터에서 커넥터 생성하기


  • Key converter classorg.apache.kafka.connect.storage.StringConverter 를 입력합니다.
컨트롤 센터에서 커넥터 생성하기

  • kafka.topic 에서 아까 우리가 만든 토픽을 고릅니다. 
컨트롤 센터에서 커넥터 생성하기


  • max.interval 에 1000 을 입력합니다. 
컨트롤 센터에서 커넥터 생성하기

  • quickstartorders 를 입력하고 Continue 버튼을 입력합니다. 지금까지 입력한 값들은 실행을 위한 필수값들이고 입력하지 않으면 실행이 되지 않습니다. quickstart 를 사용하는 이유는 미리 정의된 스키마를 사용해서 시간을 절약하고 편리하게 사용하기 위해서입니다.
Datagen 의 quickstart 이용하기


  • Launch 를 클릭합니다.
데이터젠(datagen)으로 샘플 데이터를 실시간으로 토피에 스트리밍하기



  • 우리가 생성한 커넥터가 잘 동작하고 있습니다. 토픽에 메세지가 제대로 저장되는지 확인하겠습니다.
데이터젠(datagen)으로 샘플 데이터를 실시간으로 토피에 스트리밍하기


  • Topics 메뉴로 가서 Messages 를 클릭합니다.
데이터젠(datagen)으로 샘플 데이터를 실시간으로 토피에 스트리밍하기


  • 데이터젠 커넥터에서 생성된 샘플 데이터가 실시간으로 계속해서 카프카 토픽에 쌓이는 것을 알 수 있습니다.
데이터젠(datagen)으로 샘플 데이터를 실시간으로 토피에 스트리밍하기


  • Schema 메뉴로 가시면 quickstart 의  orders 옵션이 정의한 스키마를 보실 수 있습니다.
quickstart에서 정의된 스키마(schema)


  • 마지막으로 컨트롤 센터 여기 저기를 구경해 봅니다. 여러가지를 편하게 모니터링 하실 수 있습니다.
Control Center 로 카프카 모니터링 하기

Control Center 로 카프카 모니터링 하기


- The End - 

Comments