1. 程式人生 > >kafka manager的安裝和使用

kafka manager的安裝和使用

參考《kafka入門與實踐》(牟 著)

第一步:下原始碼,編譯,安裝

$ git clone https://github.com/yahoo/kafka-manager.git
$ cd kafka-manager
$ ./sbt clean dist
...
[info] Your package is ready in /home/yong/Desktop/kafka-manager/kafka-manager/target/universal/kafka-manager-1.3.3.21.zip
[info] 
[success] Total time: 54 s, completed Aug 8, 2018 4:45:15 AM

看到Your package is ready in ...說明已經編譯完畢了。

$ cp /home/yong/Desktop/kafka-manager/kafka-manager/target/universal/kafka-manager-1.3.3.21.zip /home/yong/Desktop/kafka-manager/
$ cd /home/yong/Desktop/kafka-manager/
$ unzip kafka-manager-1.3.3.21.zip
$ cd kafka-manager-1.3.3.21/

kafka-manager-1.3.3.21/下就是安裝好的軟體了。

第二部:配置,使用

我們使用zookeeper+kafka叢集,這個叢集借鑑《Kafka叢集部署》一文。幾乎可以照搬,唯一不同的是在啟動zookeeper的時候多一個docker compose的port對映。

version: '2'
 
networks:
  thinking:
  
services:
  test_1.thinking.com:
    image: ubuntu
    container_name: test_1.thinking.com
    command: sh /cmd/start1.sh
    tty: true
    networks:
      - thinking
    ports:
      - "2181:2181"
    volumes:
      - /etc/java-8-openjdk:/etc/java-8-openjdk
      - /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64
      - /home/yong/Desktop/zookeeper-3.4.12:/home/zookeeper-3.4.12
      - $PWD/zookeeper-cmd:/cmd
    environment:
      - JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
      - PATH=${PATH}:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
 
 
  test_2.thinking.com:
    image: ubuntu
    container_name: test_2.thinking.com
    command: sh /cmd/start2.sh
    tty: true
    networks:
      - thinking
    ports:
      - "2182:2181"
    volumes:
      - /etc/java-8-openjdk:/etc/java-8-openjdk
      - /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64
      - /home/yong/Desktop/zookeeper-3.4.12:/home/zookeeper-3.4.12
      - $PWD/zookeeper-cmd:/cmd
    environment:
      - JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
      - PATH=${PATH}:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
 
  test_3.thinking.com:
    image: ubuntu
    container_name: test_3.thinking.com
    command: sh /cmd/start3.sh
    tty: true
    networks:
      - thinking
    ports:
      - "2183:2181"
    volumes:
      - /etc/java-8-openjdk:/etc/java-8-openjdk
      - /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64
      - /home/yong/Desktop/zookeeper-3.4.12:/home/zookeeper-3.4.12
      - $PWD/zookeeper-cmd:/cmd
    environment:
      - JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
      - PATH=${PATH}:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin

將zookeeper的2181對外服務埠對映從出來,以便kafka manager與之通訊。

然後需要配置kafka-manager-1.3.3.21/conf/application.conf檔案,設定

kafka-manager.zkhosts="0.0.0.0:2181,0.0.0.0:2182,0.0.0.0:2183"

最後啟動kafka manager

$ bin/kafka-manager

啟動之後訪問0.0.0.0:9000

建立叢集

填寫兩個最基本的資料Cluster Name和Cluster Zookeeper Hosts

然後參照《kafka基本使用》建立一個主題

$ docker exec -it kafka_2.thinking.com /bin/bash
# cd /usr/local/kafka/bin/
# ./kafka-topics.sh --create --zookeeper test_1.thinking.com:2181 --replication-factor 2 --partitions 3 --topic test-with-create-2
Created topic "test-with-create-2".

再在kafka manager中檢視

有了!!!