laradock 安装使用 kafka

laradock 根据官方文档修改配置文件

Install RDKAFKA extension in php-fpm

1 - Open the .env file

2 - Search for the PHP_FPM_INSTALL_RDKAFKA argument under the PHP-FPM container

3 - Set it to true

4 - Re-build the container docker-compose build php-fpm

Install RDKAFKA extension in workspace

This is needed for ‘composer install’ if your dependencies require Kafka.

1 - Open the .env file

2 - Search for the WORKSPACE_INSTALL_RDKAFKA argument under the WORKSPACE container

3 - Set it to true

4 - Re-build the container docker-compose build workspace

然后编译重启 docker镜像 貌似还有装zookeeper

重点docker-compose.yml 中kafka配置

### kafka ####################################################

kafka:

image: wurstmeister/kafka

ports:

- "9092:9092"

environment:

KAFKA_BROKER_ID: 1

KAFKA_ADVERTISED_HOST_NAME: kafka

KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092

KAFKA_MESSAGE_MAX_BYTES: 2000000

KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

volumes:

- ${DATA_PATH_HOST}/kafka:/kafka

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

networks:

- backend

将配置中127.0.0.1 改成 kafka 因为docker中同一网络提供的内网ip可能会变化,所以要配置成服务名称kafka

再然后查看kafka容器进入

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

CONTAINER ID 用docker ps 查看kafka容器id

我安装的是wurstmeister/kafka 镜像 进入容器后进入如下目录

cd /opt/kafka_2.13-2.8.1/bin/

创建topic

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

生产消息

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

这个时候可以再开一个窗口,用作消费

./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-beginning --topic test

然后一遍输入 一遍消费就可以了

有时间再出一篇laravel 使用的教程

参考

http://laradock.io/

https://blog.csdn.net/XIAOHUI_ID/article/details/122662020

https://xie.infoq.cn/article/9aca8523fdda21ccc71c8cd7b

https://github.com/arnaud-lb/php-rdkafka

猜你喜欢

转载自blog.csdn.net/qiuziqiqi/article/details/129187500