在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://docker.anyhub.us.kg", "https://dockerhub.jobcher.com", "https://dockerhub.icu", "https://docker.ckyl.me", "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了,欢迎大家讨论

相关推荐
一直会游泳的小猫2 小时前
homebrew
linux·mac·工具·包管理
Agent产品评测局2 小时前
制造业生产调度自动化落地,完整步骤与避坑指南:2026企业级智能体选型与实战全景
运维·人工智能·ai·chatgpt·自动化
寒秋花开曾相惜2 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
狂奔的sherry2 小时前
一次由 mount 引发的 Linux 文件系统“错觉”
linux·运维·服务器
志栋智能2 小时前
超自动化巡检:让合规与审计变得轻松简单
运维·网络·人工智能·自动化
小黑要努力2 小时前
智能音箱遇到的问题(一)
linux·运维·git
好度2 小时前
自动化教程-封装浏览器驱动
运维·自动化
ch3nyuyu3 小时前
静态库和动态库的制作
linux·运维·开发语言
程序员老邢3 小时前
【产品底稿 07】商助慧 Admin 运维模块落地:从 “能跑” 到 “能运维”,3 个页面搞定日常排障
java·运维·经验分享·spring boot·后端
一口Linux3 小时前
Linux C编程 | 从0实现telnet获取程序终端控制权
linux·运维·c语言