参考《kafka入门与实践》(牟 著)
参考https://github.com/yahoo/kafka-manager
第一步:下源码,编译,安装
$ 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中查看
有了!!!