250x250
syk531
하루
syk531
전체 방문자
오늘
어제
  • 분류 전체보기 (166)
    • 개발 (166)
      • java (11)
      • kotlin (7)
      • spring, spring boot (35)
      • Javascript (4)
      • Tyhmeleaf (2)
      • Kafka (17)
      • Docker (8)
      • Kubernetes (3)
      • Elastic Stack (4)
      • react native (3)
      • Web (4)
      • GIS (3)
      • 리눅스 (16)
      • Windows (2)
      • 네트워크 (2)
      • 안드로이드앱 (5)
      • git (2)
      • Tool (15)
      • 프로젝트 (7)
      • 백준알고리즘 (14)
      • DB (2)

인기 글

최근 글

블로그 메뉴

    공지사항

    태그

    • 오블완
    • 티스토리챌린지
    • 뉴스앱

    최근 댓글

    티스토리

    hELLO · Designed By 정상우.
    syk531

    하루

    [Apache Kafka] CMAK 설치 방법
    개발/Kafka

    [Apache Kafka] CMAK 설치 방법

    2023. 12. 11. 10:35
    728x90
    반응형
    개요

    Kafka Cluster Manager (CMAK)는 Apache Kafka 클러스터를 관리하기 위한 웹 인터페이스 도구입니다. 이 도구는 이전에는 Kafka Manager라고 불렸으며, Kafka 클러스터의 모니터링, 관리, 설정, 토픽 관리 등을 할 수 있도록 도와줍니다.

    CMAK은 Kafka 클러스터를 관리하기 쉽게 해주는 여러 기능을 제공합니다. 몇 가지 주요 기능은 다음과 같습니다.

     

    1. 토픽 관리 : 새로운 토픽 생성, 토픽 설정 변경, 삭제 등을 할 수 있습니다.

    2. 브로커 관리 : 브로커의 상태를 모니터링하고, 브로커들 간의 리더십(partition leader) 및 복제(replication) 상태를 확인할 수 있습니다.

    3. 컨슈머 그룹 관리 : 컨슈머 그룹의 오프셋(offset) 상태, 컨슈머 그룹의 구성 등을 확인할 수 있습니다.

    4. 토픽의 파티션(partition) 상태 확인 : 파티션의 리더 및 복제 상태, ISR(in-sync replicas) 목록 등을 확인할 수 있습니다.

     

     

    CMAK 설치 방법

    CMAK github 사이트에서 CMAK release 버전을 다운받습니다.

    현재 3.0.0.6이 최신 버전이고 cmak-3.0.0.6.zip 파일을 다운로드 받으면 됩니다.

    CMAK github

     

    cmak-3.0.0.6.zip 압축 해제 폴더

    zip 파일을 원하는 경로에 압축을 푼 후 bin 폴더에서 아래의 명령어를 통해 cmak을 실행하니 아래와 같은 에러가 발생하였습니다.

    .\cmak.bat

    cmak 실행 에러

    cmak 폴더의 경로가 길어서 발생하는 오류이고 cmak-3.0.0.6으로 되어 있는 폴더명을 cmak으로 변경 후 다시 .\cmak.bat 을 실행하니 이번에는 아래와 같은 다른 오류가 발생하였습니다.

    2023-12-11 09:10:17,206 - [ERROR] - from org.apache.zookeeper.client.StaticHostProvider in kafka-manager-system-akka.actor.default-dispatcher-6-SendThread() 
    Unable to resolve address: kafka-manager-zookeeper/<unresolved>:2181
    java.net.UnknownHostException: 알려진 호스트가 없습니다 (kafka-manager-zookeeper)
    	at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    	at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:933)
    	at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1543)
    	at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:852)
    	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1532)
    	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1384)
    	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1305)
    	at org.apache.zookeeper.client.StaticHostProvider$1.getAllByName(StaticHostProvider.java:92)
    	at org.apache.zookeeper.client.StaticHostProvider.resolve(StaticHostProvider.java:147)
    	at org.apache.zookeeper.client.StaticHostProvider.next(StaticHostProvider.java:375)
    	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1137)
    
    2023-12-11 09:10:17,208 - [WARN] - from org.apache.zookeeper.ClientCnxn in kafka-manager-system-akka.actor.default-dispatcher-6-SendThread(kafka-manager-zookeeper:2181) 
    Session 0x0 for server kafka-manager-zookeeper/<unresolved>:2181, unexpected error, closing socket connection and attempting reconnect
    java.lang.IllegalArgumentException: Unable to canonicalize address kafka-manager-zookeeper/<unresolved>:2181 because it's not resolvable
    	at org.apache.zookeeper.SaslServerPrincipal.getServerPrincipal(SaslServerPrincipal.java:71)
    	at org.apache.zookeeper.SaslServerPrincipal.getServerPrincipal(SaslServerPrincipal.java:39)
    	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1087)
    	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1139)
    
    2023-12-11 09:10:18,325 - [ERROR] - from org.apache.zookeeper.client.StaticHostProvider in kafka-manager-system-akka.actor.default-dispatcher-6-SendThread(kafka-manager-zookeeper:2181) 
    Unable to resolve address: kafka-manager-zookeeper/<unresolved>:2181
    java.net.UnknownHostException: kafka-manager-zookeeper
    	at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:801)
    	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1532)
    	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1384)
    	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1305)
    	at org.apache.zookeeper.client.StaticHostProvider$1.getAllByName(StaticHostProvider.java:92)
    	at org.apache.zookeeper.client.StaticHostProvider.resolve(StaticHostProvider.java:147)
    	at org.apache.zookeeper.client.StaticHostProvider.next(StaticHostProvider.java:375)
    	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1137)

    zookeeper의 호스트를 찾을 수 없어서 오류가 발생했고 cmak\conf\application.conf 파일을 에디터로 열어서 zookeeper의 호스트 정보를 아래와 같이 수정해줍니다.

    kafka-manager.zkhosts="localhost:2181"

    cmak.zkhosts="localhost:2181"

    #kafka-manager.zkhosts="kafka-manager-zookeeper:2181"
    kafka-manager.zkhosts="localhost:2181"
    kafka-manager.zkhosts=${?ZK_HOSTS}
    #cmak.zkhosts="kafka-manager-zookeeper:2181"
    cmak.zkhosts="localhost:2181"
    cmak.zkhosts=${?ZK_HOSTS}

     

    application.conf 파일을 수정 후 cmak을 다시 실행 해보면 정상적으로 실행이 됩니다.

    cmak 실행 성공

     

    cmak이 실행되었으니 localhost:9000 (9000 : cmak 기본 포트)으로 접속해보니 콘솔에 에러 로그가 쌓이고 웹사이트에서 css, js 에러가 발생했습니다.

    cmak 에러
    cmak 웹사이트 에러

    저는 java version 이 현재 java17로 되어있는데 cmak은 java11 버전을 권장하기 때문에 다른 java 버전을 사용해서 발생하는 오류로 판단을 해서 java 11버전으로 cmak을 실행하게 변경했습니다.

    jdk 다운로드 사이트에서 Windows용 jdk11을 다운받고 원하는 경로에 압축을 풀어줍니다.

    jdk 다운로드 사이트

     

    cmak\bin\cmak.bat 파일을 에디터로 열어서 JAVA_HOME 경로를 다운받은 jdk11의 경로를 보도록 명시적으로 선언해주었습니다. rem은 bat 파일에서 주석을 의미합니다.

    set "JAVA_HOME=D:\tools\Java\jdk-11"

    cmak.bat 파일

     

    cmak.bat 파일을 수정 후 cmak을 다시 실행 후 localhost:9000 으로 접속하면 css, js를 정상적으로 불러오는 것을 확인할 수 있습니다.

    cmak 웹사이트

     

     

    참고자료

    https://server-engineer.tistory.com/759

    https://oingdaddy.tistory.com/303

    https://mightytedkim.tistory.com/138

    https://charactermail.tistory.com/359

    https://github.com/yahoo/CMAK

    728x90
    반응형
    저작자표시 (새창열림)

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

    [Apache Kafka] CMAK 웹사이트  (0) 2023.12.11
    [Apache Kafka] 자주 사용하는 명령어  (0) 2023.12.11
    [Apache Kafka] connect, connector  (0) 2023.12.10
    [Apache Kafka] topic 삭제 방법  (0) 2023.12.10
    [Apache Kafka] Spring boot에 Kafka 적용해보기  (0) 2023.12.08
      '개발/Kafka' 카테고리의 다른 글
      • [Apache Kafka] CMAK 웹사이트
      • [Apache Kafka] 자주 사용하는 명령어
      • [Apache Kafka] connect, connector
      • [Apache Kafka] topic 삭제 방법
      syk531
      syk531
      기억을 위해 기록을.

      티스토리툴바