文章目录
一 nginx 安装
1.1 nginx与nginx kafka插件下载
下载地址
http://nginx.org/en/download.html
解压nginx
tar -zxvf nginx-1.12.2.tar.gz -C /opt/module/
1.2 nginx kafka下载编译
1.2.1 直接clone到本地再上传上去(或者使用git 克隆)
1.2.1.1 克隆librdkafka对应的依赖到本地
https://github.com/edenhill/librdkafka
解压
unzip librdkafka-master.zip
1.2.1.2 克隆Nginx Kafka Module对应的依赖到本地
https://github.com/brg-liuwei/ngx_kafka_module
unzip ngx_kafka_module-master.zip
1.3 进入到librdkafka-master目录
安装依赖
yum install -y gcc gcc-c++ pcre-devel zlib-devel
在librdkafka-master当前目录执行
./configure
make && make install
1.4 进入到nginx源码目录
/opt/module/ngx_kafka_module-master/ 修改为你下载解压后的ngx_kafka_module对应的路径
预编译
./configure --add-module=/opt/module/ngx_kafka_module-master/
在nginx源码目录下编译:
make && make install
查看nginx编译后的目录
/usr/local/nginx
1.5 修改nginx.conf配置文件
切换到nginx的编译后目录
cd /usr/local/nginx
进入conf目录修改vim nginx.conf
在http{
}中server之上添加
kafka;
kafka_broker_list 192.168.131.102:9092 192.168.131.103:9092 192.168.131.104:9092;
在server里添加(其它的使用默认参数)
location = /kafka/test {
kafka_topic test_topic;
}
二 测试
2.1 创建kafka topic
[guochao@hadoop102 kafka_0.11]$ ./bin/kafka-topics.sh --create --zookeeper hadoop102:2181 --topic test_topic --replication-factor 3 --partitions 3
2.2 开始消费 test_topic主题
./bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic test_topic --from-beginning
2.3 启动nginx
./sbin/nginx
启动nginx 报错,找不到kafka.so.1的文件
./sbin/nginx: error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No such file or directory
解决:
加载so库
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
再次启动nginx后
使用curl命令测试
curl localhost/kafka/test -d "message send to kafka topic"
curl localhost/kafka/test -d "zhangsan"
可通过postman等测试工具,发送json数据,直接采集到kafka 省去fulme采集数据的环节