在Linux系统安装Kafka

注意:我的是在云服务器上基于Docker配

在防火墙上放行端口号 2181(Zookeeper) 9092(Kafka)

一、先配置 Docker 守护进程(daemon)的镜像加速器(registry mirrors)

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<EOF

{

"registry-mirrors": [

"https://hub.uuuadc.top",

"https://docker.anyhub.us.kg",

"https://dockerhub.jobcher.com",

"https://dockerhub.icu",

"https://docker.ckyl.me",

"https://docker.awsl9527.cn"

]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

注意:

  • sudo mkdir -p /etc/docker

    • 使用 sudo 权限创建一个目录 /etc/docker,如果该目录已存在则不会报错, -p 参数表示递归创建目录。
  • sudo tee /etc/docker/daemon.json <<EOF

    • 使用 sudo 权限执行 tee 命令,它会从标准输入接收数据并将其写入文件中。
    • /etc/docker/daemon.json 是一个配置文件,该命令会将下面的内容写入这个文件中。
  • { "registry-mirrors": "[https://hub.uuuadc.top](https://hub.uuuadc.top/ "https://hub.uuuadc.top")", "[https://docker.anyhub.us.kg](https://docker.anyhub.us.kg/ "https://docker.anyhub.us.kg")", "[https://dockerhub.jobcher.com](https://dockerhub.jobcher.com/ "https://dockerhub.jobcher.com")", "[https://dockerhub.icu](https://dockerhub.icu/ "https://dockerhub.icu")", "[https://docker.ckyl.me](https://docker.ckyl.me/ "https://docker.ckyl.me")", "[https://docker.awsl9527.cn](https://docker.awsl9527.cn/ "https://docker.awsl9527.cn")" }

    • 这是一个 JSON 格式的配置内容,用来配置 Docker 守护进程使用的镜像加速器(registry mirrors)。镜像加速器用于加快 Docker 镜像的拉取速度,尤其是在国内访问国外 Docker Hub 时。
  • EOF

    • 表示输入数据的结束标记,这里用来结束 tee 命令的输入。
  • sudo systemctl daemon-reload

    • 使用 sudo 权限重新加载 systemd 的守护进程配置,以便它可以识别到新的或更改的服务文件。
  • sudo systemctl restart docker

    • 使用 sudo 权限重新启动 Docker 守护进程,使之应用新的配置(即上面添加的镜像加速器列表)。

综上所述,这段命令和操作的目的是配置 Docker 守护进程的镜像加速器,以提高 Docker 镜像的下载速度。

二、设置网络

app-tier:网络名称 # --driver:网络类型为bridge

docker network create app-kafka --driver bridge

三、拉取镜像(因为zookeeper是Kafka的强依赖,所以需要安装)

docker pull bitnami/zookeeper:latest

四、编写启动脚本(我是放在cd /usr/local/docker/zookeeper里面)

vim startZK.sh

脚本内容:

docker run -d --name zookeeper-server \

-p 2181:2181 \

--network app-kafka \

-e ALLOW_ANONYMOUS_LOGIN=yes \

bitnami/zookeeper:latest

五、给脚本赋予权限

chmod -R 700 startZk.sh

六、启动脚本

./startZk.sh

七、拉取Kafka镜像

docker pull bitnami/kafka:latest

八、编写启动脚本(我是放在cd /usr/local/docker/Kafka里面)

vim startKafka.sh

脚本内容:(IP是你买的服务器IP)

docker run -d --name kafka-server \

--network app-kafka \

-p 9092:9092 \

-e ALLOW_PLAINTEXT_LISTENER=yes \

-e KAFKA_ADVERTISED_HOST_NAME=IP \

-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \

-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092 \

-e KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \

bitnami/kafka:latest

九、给脚本赋予权限

chmod -R 700 startKafka.sh

十、启动脚本

./startKafka.sh

以上就是在云服务器上配置zookeeper和Kafka了,欢迎大家讨论

相关推荐
运维技术小记13 分钟前
国产化环境配置 VNC 远程桌面:麒麟 V10 实战
linux·运维·服务器
xiaoye-duck29 分钟前
《Linux系统编程》Linux 系统多线程(八): C++ 高并发线程池全链路深度解析与从零手撕实现
linux·c++·线程池
爱码少年1 小时前
一条Shell命令实现文件目录服务器间快速转移
服务器·shell
giaming0231 小时前
告别Docker Desktop!一款轻量级原生开发环境管理工具:FlyEnv
运维·docker·容器
laboratory agent开发1 小时前
智能体多工具串联执行中途失败,部分写入的数据如何回滚
运维·服务器·数据库
智塑未来1 小时前
金融 AIOps 选型指南:银行证券智能运维平台怎么选
运维·人工智能·金融
寒水馨1 小时前
Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
linux·运维·服务器·google·序列化·protobuf·protoc
王琦03182 小时前
Linux的文件管理
linux·运维·服务器
xlq223222 小时前
高并发服务器day13
运维·服务器
Android系统攻城狮2 小时前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(四十二)
linux·运维·服务器·音频进阶·pipewire音频进阶