在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了,欢迎大家讨论

相关推荐
未济3 天前
linux 配置环境变量
linux
傲世仙尊3 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.3 天前
进程间通信
linux
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-053 天前
Linux IO编程——静态库、动态库
linux
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz3 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅3 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog4 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发