php使用kafka进行消费和生产:https://www.cnblogs.com/lz0925/p/11280654.html
确保有java环境,我的版本:java version "1.8.0_112"
地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载 cd /usr/local/src wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz tar zxvf kafka_2.12-2.3.0.tgz mv kafka_2.12-2.3.0 ../kafka cd ../kafka
启动zookeeper,然后再启动kafka,顺序不能错
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties bin/kafka-server-start.sh -daemon config/server.properties
创建话题 'test' bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test // 这条命令会创建一个名为test的topic,有3个分区,每个分区需分配3个副本。
查看话题列表 bin/kafka-topics.sh --list --zookeeper localhost:2181
查看 test 话题详情 bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
启动一个生产者 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test [等待输入自己的内容 出现>输入即可]
i am a new msg ! i am a good msg ?
启动一个消费者(等待消息)
- 注意这里的--from-beginning,每次都会从头开始读取,你可以尝试去掉和不去掉看下效果 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning [等待消息] i am a new msg ! i am a good msg ?
安装kafka的php扩展
先安装rdkfka库文件
git clone https://github.com/edenhill/librdkafka.git cd librdkafka/ ./configure make sudo make install
git clone https://github.com/arnaud-lb/php-rdkafka.git cd php-rdkafka phpize ./configure make all -j 5 sudo make install
vim [php]/php.ini extension=rdkafka.so
ps:服务器允许远程客户端连接,需要修改broker的配置文件
打开config/server.properties配置文件,更改如下
把31行的注释去掉,listeners=PLAINTEXT://:9092 把36行的注释去掉,把advertised.listeners值改为PLAINTEXT://host_ip:9092(我的服务器ip是172.168.10.100)