docker 离线部署 kafka
docker hub在线地址:
kafka镜像地址
zookeeper镜像地址
目录架构
1、离线安装docker 和 docker-compose
具体请参考一下链接进行安装
2、下载kafka镜像 (有网环境)
- 先在有网络的环境下拉取kafka和zookeeper镜像
docker pull bitnami/kafka:latest
docker pull bitnami/zookeeper:latest
3、打包镜像文件到本地
# 参数说明 -o :输出到的文件
docker save bitnami/kafka:latest -o kafka.tar
docker save bitnami/zookeeper:latest -o zookeeper.tar
- 将kafka.tar 、zookeeper.tar下载到自己本地电脑,在将kafka.tar、zookeeper.tar上传到要部署的内网服务器上
4、将镜像文件导入到内网环境的服务器上(无网内网环境)
# 创建目录
mkdir -p /usr/local/kafka&& cd /usr/local/kafka
# 导入镜像 参数说明 --input , -i : 指定导入的文件
docker load -i kafka.tar
docker load -i zookeeper.tar
5、编写docker-compose.yml文件
vim docker-compose.yml
version: "3"
services:
zookeeper:
container_name: zookeeper
image: 'bitnami/zookeeper:latest'
ports:
- '2181:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
volumes:
- ./zookeeper:/bitnami/zookeeper:rw
restart: always
kafka:
container_name: kafka
image: 'bitnami/kafka:latest'
ports:
- '9092:9092'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.127.141:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CREATE_TOPICS=apply:1:1
depends_on:
- zookeeper
volumes:
- ./kafka:/bitnami/kafka:rw
restart: always
6、启动 kafka
# 启动
docker-compose up -d
# 关闭
docker-compose down
7、赋予文件权限
# 赋予文件权限
chmod 777 kafka
chmod 777 zookeeper
8、关闭防火墙
# centos 麒麟
firewall-cmd --zone=public --add-port=9092/tcp --permanent && firewall-cmd --reload
firewall-cmd --zone=public --add-port=2181/tcp --permanent && firewall-cmd --reload
# ubantu
sudo ufw allow 9092
sudo ufw allow 2181