docker 安装kafka_Docker环境下安装Zookeeper和Kafka

下载 Docker 镜像:

[root@centos-101 ~]# docker pull wurstmeister/zookeeper:latest

[root@centos-101 ~]# docker pull wurstmeister/kafka:latest

查看下载完成的Docker 镜像:

docker images

5808eff2aa845c35e608900f6f900e99.png

下面分别启动Zookeeper 和 kafka 容器,这一步骤可以忽略。直接通过 docker-compose 命令来启动容器。

创建并启动容器

先启动Zookeeper:

[root@centos-101 ~]# docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper:latest

efa02c53c3cacb84aed718b230fd1bd8.png

在启动kafka 容器:

创建 docker-compose.yml 文件

在/root/目录下,创建kafka 目录(mkdir):

[root@centos-101 kafka]# pwd

/root/kafka

然后在 kafka 子目录下,创建 docker-compose.yml 文件,如下所示:

version: '2'

services:

zookeeper:

image: wurstmeister/zookeeper

ports:

- "2181:2181"

kafka:

image: wurstmeister/kafka

ports:

- "9092:9092"

environment:

KAFKA_ADVERTISED_HOST_NAME: 192.168.56.101

KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

volumes:

- /var/run/docker.sock:/var/run/docker.sock

7a1f16d7289001211125a407e3937565.png

其中 KAFKA_ADVERTISED_HOST_NAME: 192.168.56.101 根据具体的环境,设置对应的IP 地址。

参考官方的docker-compose.yml文件:

https://raw.githubusercontent.com/wurstmeister/kafka-docker/master/docker-compose.yml

启动 docker-compose

[root@centos-101 kafka]# docker-compose up -d

Creating kafka_zookeeper_1 ... done

Creating kafka_kafka_1 ... done

查看启动的zooker/kafka 容器:

docker ps

ae00cd0759459a322c3c6a4a5cfd850a.png

也可以访问http://192.168.56.101:9000/#/containers 【portainer容器】,查看相应的容器:

d607786fdb5773c1645db3ae656114de.png

向 kafka 发生测试消息

可以进入 kafka 容器:

docker exec -it kafka_kafka_1 /bin/bash

进入kafka 所在目录,以及查看kafka版本:

1ec66fa5182c3f013ac0f3ba46e6b5ce.png

查看bin 目录:

bash-4.4# ls bin

connect-distributed.sh kafka-reassign-partitions.sh

connect-standalone.sh kafka-replica-verification.sh

kafka-acls.sh kafka-run-class.sh

kafka-broker-api-versions.sh kafka-server-start.sh

kafka-configs.sh kafka-server-stop.sh

kafka-console-consumer.sh kafka-streams-application-reset.sh

kafka-console-producer.sh kafka-topics.sh

kafka-consumer-groups.sh kafka-verifiable-consumer.sh

kafka-consumer-perf-test.sh kafka-verifiable-producer.sh

kafka-delegation-tokens.sh trogdor.sh

kafka-delete-records.sh windows

kafka-dump-log.sh zookeeper-security-migration.sh

kafka-log-dirs.sh zookeeper-server-start.sh

kafka-mirror-maker.sh zookeeper-server-stop.sh

kafka-preferred-replica-election.sh zookeeper-shell.sh

kafka-producer-perf-test.sh

(1)创建一个topic 为 mykafka。

bash-4.4# bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka

Created topic "mykafka".

(2)查看当前的 topic 列表。

bash-4.4# bin/kafka-topics.sh --list --zookeeper zookeeper:2181

__consumer_offsets

mykafka

(3)运行一个消息生产者,指定topic 为刚刚创建的 mykafka。同时,输入一些测试消息。

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka

>hello rickie

(输入若干条消息后 按^C 退出发布)

(4)运行一个消息生产者,指定 topic 为刚刚创建的 mykafka。可以接收到生产者发送的消息。

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mykafka --from-beginning

hello rickie

这样,kafka 环境已经ready 了(部署正常)。

停止 docker-compose

在你的项目路径下使用 docker-compose down。

[root@centos-101 kafka]# docker-compose down

Stopping kafka_zookeeper_1 ... done

Stopping kafka_kafka_1 ... done

Removing kafka_zookeeper_1 ... done

Removing kafka_kafka_1 ... done

Removing network kafka_default

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值