linux安装kafka
-
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)