Kafka在centos7用docker部署

Kafka简介
Kafka是一种消息队列,主要用来处理大量数据状态下的消息队列,一般用来做日志的处理。既然是消息队列,那么Kafka也就拥有消息队列的相应的特性了。

1.Kafka的安装和使用

docker安装可以看这篇文章:Docker&Docker命令学习

# docker直接拉取kafka和zookeeper的镜像
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
# 首先需要启动zookeeper,如果不先启动,启动kafka没有地方注册消息
docker run -it --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest
docker以交互模式 name为zookeeper 指定端口2181 后台运行
[root@kafka ~]# docker run -it --name zookeeper -p 12181:2181 -d wurstmeister/zookeeper:latest
56b476a5f2bca34c3464b70380684cba2e8426fbcf55f9a48b22fe3484dab712
[root@kafka ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                                 NAMES
56b476a5f2bc   wurstmeister/zookeeper:latest   "/bin/sh -c '/usr/sb…"   35 seconds ago   Up 33 seconds   22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:12181->2181/tcp   zookeeper
# 启动kafka容器,注意需要启动三台,注意端口的映射,都是映射到9092
第一台:
[root@kafka ~]# docker run -it --name kafka01 -p 19092:9092 -d -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.17.129:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.17.129:19092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest
253dad66cb84deae0ec6dd27f68ee00b66217812ff7e9b4c5eb7ac5679a8603a
第二台:
[root@kafka ~]# docker run -it --name kafka02 -p 19093:9092 -d -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.17.129:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.17.129:19093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest
6037e92f7e67239f51f35338b0ee3d2780371be6a9d60b400954fcb04c217f29
第三台:
[root@kafka ~]# docker run -it --name kafka03 -p 19094:9092 -d -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.17.129:12181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.17.129:19094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka:latest
44102bd3b99198f6dd1f4e050750c6687a4db66cfbc3c8ea47eda51934c1966e

上面端口的映射注意都是映射到Kafka的9092端口上!

到目前为止利用docker部署kafka告一段落

CentOS 7 上安装 Docker 并进而安装 Apache Kafka,需要按照以下步骤操作: 1. **安装 Docker**: - 首先确保你的系统已经更新到最新版本: `sudo yum update` - 安装 Docker:由于 CentOS 7 已不再支持新的 Docker 发行版,你需要使用社区维护的 Docker 经验包。访问 [Docker CE for CentOS](https://docs.docker.com/engine/installation/linux/docker-ce/centos/) 获取安装脚本。 - 运行安装脚本并按照提示完成安装。 ```bash curl -fsSL https://get.docker.com | sh ``` 2. **启动和启用 Docker**: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 3. **安装 Kafka**: 使用 Docker Compose 或者直接通过 Docker Hub 镜像安装。这里我们选择 Compose 方案,因为它可以创建完整的应用环境。 - 创建一个名为 `docker-compose.yml` 的文件,添加以下内容,配置 Kafka 和 ZooKeeper: ```yaml version: '3' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka depends_on: - zookeeper environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 ports: - "9092:9092" ``` 4. **启动 Kafka**: ``` docker-compose up -d ``` 5. **验证安装**: - 可以通过 `docker ps` 查看服务是否正在运行。 - 使用 `docker exec -it <kafka_container_name> /bin/bash` 进入容器检查 Kafka 是否已启动以及数据目录是否可用。 6. **安全性和持久化**: - 如果需要更高级的安全选项(如TLS),可以在 `docker-compose.yml` 文件中调整 Kafka 的配置。 - Kafka 数据默认存储在主机的 `/var/lib/docker/volumes` 下,如果需要持久化数据,应挂载外部卷(例如 `/data/kafka`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值