# 高吞吐消息中间件Kafka **Repository Path**: clj2ee/kafka ## Basic Information - **Project Name**: 高吞吐消息中间件Kafka - **Description**: 六阶段第二模块 高吞吐消息中间件Kafka - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1. 安装kafka集群 > 见课程文档 ## 2. 安装nginx [nginx官网](http://nginx.org/en/download.html) ```bash # 下载 yum install -y git yum install -y gcc gcc-c++ pcre-devel zlib-devel yum install -y pcre-devel yum install -y zlib-devel #下载 wget http://nginx.org/download/nginx-1.12.2.tar.gz #解压 nginx -C 可以指定解压目录 tar -zxvf nginx-1.12.2.tar.gz #进入 nginx 目录 cd nginx-1.12.2 #编译 prefix 指定 安装目录 ./configure --prefix=/usr/local/nginx #安装 make && make install #启动 nginx 指定 nginx 配置文件 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #查看nginx进程 ps -ef | grep nginx 或者 netstat -anpt | grep nginx ``` ## 3. 安装nginx的kafka插件ngx_kafka_module (1) 先安装librdkafka ```bash #获取 librdkafka git clone https://github.com/edenhill/librdkafka #进入 librdkafka cd librdkafka #编译 ./configure #安装 make && make install ``` * 执行./configure 报错 ![](./img/kafka_nginx_error.png) 需要安装python ```bash ##下载python包 wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz ##解压python安装包 tar -zxvf Python-3.5.2.tgz ##进入python包 cd Python-3.5.2 #执行该步骤如果报configure: error: no acceptable C compiler found in $PATH #通过该命令修复:yum install make gcc gcc-c++ # 说明没有安装合适的编译器。这时,需要安装/升级 gcc 及其它依赖包。 ./configure #安装 make && make install ``` (2) 下载ngx_kafka_module ```bash # git clone https://github.com/brg-liuwei/ngx_kafka_module # cd ./configure --add-module=<下载ngx_kafka_module的路径> # make && make install ``` (3) 配置nginx.conf ```bash http { kafka; kafka_broker_list 192.168.11.121:9092; # host:port ... server { listen 80; server_name 192.168.11.121; location = /kafka/log/ { kafka_topic kafka_log_1; return 200 'ok'; } location / { root html; index index.html index.htm; } } } ``` (4)启动nginx * 报错 > error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No such file or directory ```bash # echo "/usr/local/lib" >> /etc/ld.so.conf # ldconfig ``` (5)将静态页面放到nginx的html目录下 ![](./img/kafka_nginx_2.png) 注意问题:由于使用ngx_kafka_module,只能接收POST请求