docker php kafka,docker部署kafka(一)

1、下载镜像

这里使用了wurstmeister/kafka和wurstmeister/zookeeper这两个版本的镜像

docker pull wurstmeister/zookeeper

docker pull wurstmeister/kafka

在命令中运行docker images验证两个镜像已经安装完毕

2、启动

1、启动zookeeper

docker run -d --name zookeeper -p 2181 -t wurstmeister/zookeeper

2、启动kafka

docker run --name kafka -e HOST_IP=localhost -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_BROKER_ID=1 -e ZK=zk -p 9092 --link zookeeper:zk -t wurstmeister/kafka

可以通过docker ps查看启动状态

3、测试发送消息

执行Docker ps,找到kafka的Container ID,进入容器内部:

docker exec -it ${CONTAINER ID} /bin/bash

进入kafka默认目录

cd opt/kafka_2.11-0.10.1.1/

下面就是跟一般的kafka没什么区别了

创建一个主题:

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

运行一个消息生产者,指定topic为刚刚创建的主题

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

运行一个消费者,指定同样的主题

bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic mykafka --from-beginning

这时在生产者输入测试消息,在消费者就可以接收消息了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker部署Kafka集群是一种利用容器化技术快速搭建并运行Kafka服务的方式。通过Docker,我们可以将Kafka以及所有依赖环境打包成一个容器镜像,使得Kafka集群的部署、复制、迁移变得非常便捷。 ### 步骤一:安装 Docker 首先需要在你的机器上安装 Docker,并确保它已成功安装并可以正常工作。访问 Docker 官方网站 (https://www.docker.com/) 下载适合你操作系统的 Docker 版本,并按照文档指导进行安装。 ### 步骤二:准备 Kafka 镜像 你可以从 Docker Hub 获取 Kafka 的官方镜像。命令如下: ```bash docker pull confluentinc/cp-kafka:latest ``` ### 步骤三:配置 Kafka 集群 创建一个 `config.properties` 文件,其中包含集群设置,如 zookeeper 和 broker 设置等。例如: ```properties # kafka configuration file example zookeeper.connect=192.168.0.1:2181,zookeeper.connect=192.168.0.2:2181 broker.id=0 listeners=SASL_PLAINTEXT://:9092 advertised.listeners=SASL_PLAINTEXT://host.example.com:9092 security.protocol=SASL_SSL sasl.mechanism=GSSAPI sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required username="<your-service-account>" password="$<your-password>"; bootstrap.servers=localhost:9092 ``` ### 步骤四:启动 Kafka Broker 使用 Docker 运行 Kafka Broker 镜像。为了便于管理多个实例,我们可以创建一个包含所有节点信息的文件 `docker-compose.yml`,内容如下: ```yaml version: '3' services: kafka_broker_1: image: confluentinc/cp-kafka:latest container_name: kafka_broker_1 environment: - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_ADVERTISED_LISTENERS=SASL_PLAINTEXT://host.example.com:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 - KAFKA_SECURITY_PROTOCOL=SASL_SSL - KAFKA_SASL_MECHANISM=GSSAPI - KAFKA_SASL_JAAS_CONFIG=com.sun.security.auth.module.Krb5LoginModule required username="<your-service-account>" password="$<your-password>"; ports: - "9092:9092" depends_on: - zookeeper zookeeper: image: confluentinc/cp-zookeeper:latest container_name: zookeeper environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - "2181:2181" ``` ### 步骤五:运行 Docker Compose 最后,在终端中运行以下命令以启动 Kafka 集群: ```bash cd path/to/docker-compose-file docker-compose up -d ``` 这将启动两个容器:一个 Kafka 协议提供者(Broker),一个 ZooKeeper 节点。然后,可以通过浏览器访问 Kafka 控制台或使用客户端工具(如 JMX 或 Kafka Connect)进行进一步的操作和监控。 ### 相关问题: 1. 在 Docker部署 Kafka 集群的优点是什么? 2. 如何配置安全认证在 Kafka 中? 3. 当遇到无法连接Kafka 集群时,应该检查哪些方面?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值