-
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 ?
- 注意這里的--from-beginning,每次都會從頭開始讀取,你可以嘗試去掉和不去掉看下效果
-
安裝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)