一.首先安装nginx-kafka插件
1.安装git
yum install -y git
2.切换到/usr/local/src目录,然后将kafka的c客户端源码clone到本地
cd /usr/local/src
git clone https://gitee.com/WCCRegistered/librdkafka.git
3.进入到librdkafka,然后进行编译
cd librdkafka
yum install -y gcc gcc-c++ pcre-devel zlib-devel
./configure
make && make install
4.安装nginx整合kafka的插件,进入到/usr/local/src,clone nginx整合kafka的源码
cd /usr/local/src
git clone https://gitee.com/WCCRegistered/ngx_kafka_module.git
5.进入到nginx的源码包目录下 (编译nginx,然后将将插件同时编译)
cd /usr/local/nginx-1.12.2
./configure --add-module=/usr/local/src/ngx_kafka_module/
make
make install
6.修改nginx的配置文件,详情请查看当前目录的nginx.conf
7.启动zk和kafka集群(创建topic)
/bigdata/zookeeper-3.4.9/bin/zkServer.sh start
/bigdata/kafka_2.11-0.10.2.1/bin/kafka-server-start.sh -daemon /bigdata/kafka_2.11-0.10.2.1/config/server.properties
8.启动nginx,报错,找不到kafka.so.1的文件
error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No such file or directory
9.加载so库
echo “/usr/local/lib” >> /etc/ld.so.conf
ldconfig
重启nginx (./nginx -s reload)定配置文件的绝对路径路径
./nginx -c /usr/local/nginx/conf/nginx.conf
不然会报错
10.测试,向nginx中写入数据,然后观察kafka的消费者能不能消费到数据
curl localhost/kafka/track -d “message send to kafka topic”
curl localhost/kafka/track -d “老赵666”