ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 7. Kafka 운영
    SW개발/Kafka 2020. 9. 21. 02:03

    1. 필수 명령어

    더보기

    1.1 토픽 생성
     $ kafka-topics.sh --zookeeper ${list} --replication-factor 1 --partitions 1 --topic test-topic --create

    1.2 토픽 리스트 확인

     $ kafka-topics.sh --zookeeper ${list} --list

    1.3 토픽 상세보기

     $ kafka-topics.sh --zookeeper ${list} --topic test-topic --describe

    1.4 토픽 설정 변경

     $ kafka-configs.sh --zookeeper ${list} --alter ${이하 alter에서 사용가능한 옵션들}

     예시1) 보관주기(retention) 변경

       $ kafka-configs.sh --zookeeper ${list} --alter --entity-type topics --entity-name test-topic --add-config 

         retention.ms=3600000

     예시2) 보관주기(retention) 삭제

      $ kafka-configs.sh --zookeeper ${list} --alter --entity-type topics --entity-name test-topic --delete-config

         retention.ms 

    1.5 토픽 파티션 수 변경

     주의) 토픽의 파티션 수는 증가만 가능하고, 감소는 불가능하다. 

     주의2) 파티션의 수만큼 컨슈머 역시 추가해줘야한다.

     $ kafka-topics.sh --zookeeper ${list} --alter --topic test-topic --partitions 2

     $ kafka-topics.sh

    1.6 토픽 리플리케이션 팩터 변경

    json 파일을 통해 변경 가능

    ---

    {"version":1,  
    "partitions":[  
            {"topic":"test-topic","partition":0, "replicas":[1,2]}, 
            {"topic":"test-topic","partition":0, "replicas":[2,3]}  
    ]}

    ---

    replicas에 적힌 1,2는 1번 브로커가 리더, 리플리카는 2번 크로커이며, 마찬가지로 2,3은 2번이 리더, 3번이 리플리카

    1.7 컨슈머 그룹 리스트 확인

     $ kafka-consumer-groups.sh --bootstrap.server ${list} --list

    1.8 컨슈머 상태와 오프셋 확인

     $ kafka-consumer-groups.sh --bootstrap.server ${list} --group test-consumer --describe

     

    2. 주키퍼 스케일 아웃 방법

    zoo.cfg에 zookeeper 정보 추가 후 재시작

     

    3. 카프카 스케일 아웃

    server.properties에 broker 서버 정보 추가

    zookeeper 입력도 기존 브로터에 설정한 정보와 동일하게 입력

    주의) 브로커가 새로 추가되어도 파티션 재분배는 자동으로 이루어지지 않음. 따라서 브로커 추가후 파티션 재분배 필요

      $ kafka-reassign-partitions.sh --zookeeper ${list} --reassignment-json-file ${아래 json파일명} --execute

    ---

    {"version":1, 
    "partitions":[ 
            {"topic":"test-topic","partition":0, "replicas":[2,1]},
            {"topic":"test-topic","partition":1, "replicas":[3,2]},
            {"topic":"test-topic","partition":1, "replicas":[4,3]},
            {"topic":"test-topic","partition":1, "replicas":[5,4]},
            {"topic":"test-topic","partition":1, "replicas":[1,5]}
    ]}

    ---

     

    4. 모니터링 Tool

    JMX - 자바로 만든 app 모니터링 도구

    Kafka Manager 

    'SW개발 > Kafka' 카테고리의 다른 글

    6. Consumer  (0) 2020.09.20
    5. Producer (1)  (0) 2020.09.18
    4. kafka 구조  (0) 2020.09.17
    3. Kafka broker의 주요 설정(properties)  (0) 2020.09.16
    2. zookeeper(주키퍼)  (0) 2020.09.15
Designed by Tistory.