1. 程式人生 > 實用技巧 >實時電商數倉(五)之資料採集(四)搭建日誌採集系統的叢集(三)搭建日誌採集叢集---(叢集部署)

實時電商數倉(五)之資料採集(四)搭建日誌採集系統的叢集(三)搭建日誌採集叢集---(叢集部署)

3.1 Nginx 入門

3.1.1簡介

Nginx("engine x") 是一個高效能的HTTP和反向代理伺服器,特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、京東、新浪、網易、騰訊、淘寶等。

3.1.2 Nginx 功能

1)反向代理

什麼是反向代理?先看什麼是正向代理

再看什麼是反向代理

負載均衡

負載均衡策略: 輪詢

   權重

備機

動靜分離

3.1.3 安裝

1yum安裝依賴包
sudo yum -y install    openssl openssl-devel pcre pcre-devel    zlib zlib-devel gcc gcc-c++
2) 安裝依賴包
解壓縮nginx-xx.tar.gz包。
進入解壓縮目錄,執行
./configure   --prefix=/opt/module/nginx    
make && make install

--prefix=要安裝到的目錄

3) 啟動、關閉命令nginx
啟動命令:  在/usr/local/nginx/sbin目錄下執行  ./nginx
關閉命令: 在/usr/local/nginx/sbin目錄下執行  ./nginx  -s  stop 
重新載入命令: 在/usr/local/nginx/sbin目錄下執行  ./nginx  -s reload

如果啟動時報錯:

ln -s /usr/local/lib/libpcre.so.1
/lib64

3.1.4賦許可權

nginx佔用80埠,預設情況下非root使用者不允許使用1024以下埠

sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx

3.1.5 修改/bigdata/nginx/conf/nginx.conf

http{
   ..........
    upstream logserver{
      server    hadoop1:8080 weight=1;  
      server    hadoop2:8080 weight=1;
      server    hadoop3:8080 weight=1
; } server { listen 80; server_name logserver; location / { root html; index index.html index.htm; proxy_pass http://logserver; proxy_connect_timeout 10; } .......... }

3.2 叢集指令碼

#!/bin/bash
JAVA_BIN=/bigdata/jdk1.8.0_152/bin/java
PROJECT=gmall2019
APPNAME=xxxxx.jar
SERVER_PORT=8080
 
case $1 in
 "start")
   {
 
    for i in hadoop1 hadoop2 hadoop3
    do
     echo "========: $i==============="
    ssh $i  "$JAVA_BIN -Xms32m -Xmx64m  -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1  &"
    done
     echo "========NGINX==============="
    /usr/local/nginx/sbin/nginx
  };;
  "stop")
  { 
     echo "======== NGINX==============="
    /usr/local/nginx/sbin/nginx  -s stop
    for i in  hadoop1 hadoop2 hadoop3
    do
     echo "========: $i==============="
     ssh $i "ps -ef|grep $APPNAME |grep -v grep|awk '{print \$2}'|xargs kill" >/dev/null 2>&1
    done
 
  };;
   esac