树莓派4B使用docker安装kafka和kafkamanger

编程

本次实践将zookeeper、kafka和kafka-manager安装在同一台树莓派4B上,树莓派的IP设置为192.168.5.21,读者可以根据实际情况调整自己的运行容器参数。

硬件:Raspberry Pi 4B(4g或8g版本)
系统:Ubuntu 20.04 LTS
Docker:18.09.9
zookeeper镜像:pi4k8s/k8szk:v3.4.14
kafka镜像: iecedge/cp-kafka-arm64:5.0.1
kafka-manger镜像:  pi4k8s/kafka-manger:1.3.3.23

  • 注意:因为我们树莓派4B本身并非x86,而是arm架构,且我们的系统装的是64位ubuntu,因此镜像只能选择arm64v8架构的镜像。这里我们选择的kafka镜像是iecedge/cp-kafka-arm64:5.0.1,对应的apache-kafka版本是2.0.x。zookeeper镜像和kafka-manager镜像都是参考x86版本的Dockerfile修改在树莓派上重新编译获取。

运行容器

启动zookeeper

docker run -itd --name k8szk

-p 2181:2181

-e ZK_REPLICAS=1

-e ZK_HEAP_SIZE=512M

--hostname=zk-1

-v /home/docker/server/zookeeper/data:/var/lib/zookeeper

-v /home/docker/server/zookeeper/log:/var/log/zookeeper

pi4k8s/k8szk:v3.4.14

/bin/bash -c "/usr/bin/zkGenConfig.sh && /usr/bin/zkServer.sh start-foreground"

启动kafka

docker run -d

--name=kafka

-p 1099:1099

-p 9092:9092

-e KAFKA_BROKER_ID=1

-e KAFKA_ZOOKEEPER_CONNECT=192.168.5.21:2181

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.5.21:9092

-e KAFKA_JMX_PORT=1099

-e KAFKA_JMX_HOSTNAME=192.168.5.21

-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1

-e KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"

-v /home/docker/server/kafka/data:/var/lib/kafka/data

iecedge/cp-kafka-arm64:5.0.1

启动kafka-manager

docker run -d

--name kafka-manager

-p 9000:9000

--restart=always

--env ZK_HOSTS=192.168.5.17:2181

pi4k8s/kafka-manger:1.3.3.23

访问kafka-manager

用浏览器访问:http://192.168.5.21:9000/

测试kafka

打开两个终端分别进入kafka容器:

docker exec -it kafka-jmx bash

两个终端分别作为consumer和producer进行测试:

kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning

kafka-console-producer --broker-list localhost:9092 --topic test

参考

  • 树莓派4B安装 Ubuntu 20.04 LTS

  • 树莓派4B安装 docker18.09.9

以上是 树莓派4B使用docker安装kafka和kafkamanger 的全部内容, 来源链接: utcz.com/z/518923.html

回到顶部