以下操作在 Ubuntu 16.04 下进行,其他系统可能略有不同:
安装kafka
- 配置防火墙,开启9092端口,编辑
\etc\iptables.up.rules
文件,添加一行:
1
|
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9092 -j ACCEPT
|
保存后执行:
1
|
iptables-apply
/etc/iptables
.up.rules
|
-
Ubuntu 16.04 自带 JDK,其他系统如果未安装则需要安装。
-
安装 kafka
kafka 最新的发行版本下载地址可以在 http://archive.apache.org/dist/kafka/ 里找。
1
2
3
4
|
cd
/tmp
wget http:
//archive
.apache.org
/dist/kafka/0
.10.0.0
/kafka_2
.11-0.10.0.0.tgz
tar
-xzvf kafka_2.11-0.10.0.0.tgz
mv
kafka_2.11-0.10.0.0
/usr/local/kafka
|
- 启动 zookeeper 和 kafka
这两者的配置这里就先不研究了,直接启动试试看:
1
2
|
nohup
/usr/local/kafka/bin/zookeeper-server-start
.sh
/usr/local/kafka/config/zookeeper
.properties &
nohup
/usr/local/kafka/bin/kafka-server-start
.sh
/usr/local/kafka/config/server
.properties &
|
安装PHP相关扩展
zookeeper 扩展
- 安装 libzookeeper_mt
1
2
3
4
5
6
|
cd
/tmp
wget -N http:
//archive
.apache.org
/dist/zookeeper/zookeeper-3
.4.6
/zookeeper-3
.4.6.
tar
.gz;
tar
zxvf zookeeper-3.4.6.
tar
.gz;
rm
-f zookeeper-3.4.6.
tar
.gz
cd
zookeeper-3.4.6
/src/c
.
/configure
--prefix=
/usr/local/zookeeper
make
sudo
make
install
|
- 安装 PHP 的 zookeeper 扩展:
1
2
3
4
5
6
7
8
|
cd
/tmp
gid clone https:
//github
.com
/jbboehr/php-zookeeper
.git
# 如果是 PHP7:
# git checkout php7
phpize
.
/configure
--with-php-config=
/usr/local/php/bin/php-config
--with-libzookeeper-
dir
=
/usr/local/zookeeper
make
sudo
make
install
|
然后就可以使用这个包了:https://github.com/nmred/kafka-php。
rdkafka 扩展
- 安装 librdkafka:
1
2
3
4
5
6
|
cd
/tmp
wget -N https:
//github
.com
/edenhill/librdkafka/archive/master
.zip -O librdkafka.zip; unzip librdkafka.zip;
rm
-f librdkafka.zip
cd
librdkafka-master
.
/configure
make
sudo
make
install
|
- 安装 php-rdkafka 扩展:
1
2
3
4
5
6
7
8
|
git clone https:
//github
.com
/arnaud-lb/php-rdkafka
.git
cd
php-rdkafka
# 如果是 PHP7
# git checkout php7
phpize
.
/configure
make
all -j 5
sudo
make
install
配置php.ini并重启php-fpm在PHP.ini中添加
PHP消费参考https://github.com/arnaud-lb/php-rdkafka
参考 |