实时电商数仓(六)之数据采集(五)搭建日志采集系统的集群(五)搭建日志采集集群---(集群部署)(centos)

3.1 Nginx 入门

3.1.1简介 

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

3.1.2 Nginx 功能

1) 反向代理

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

再看什么是反向代理

 

 

 负载均衡

 

 

负载均衡策略: 轮询

                  权重

                          备机

动静分离

3.1.3 安装

 1 yum安装依赖包
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 (centos)

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;
 
         }
   ..........
}

注意:ubuntu

vim /etc/nginx/sites-available/default

 

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

 

posted @ 2020-09-11 22:34  秋华  阅读(299)  评论(0编辑  收藏  举报