4.3 配置负载均衡
步骤 1: 修改/usr/local/webserver/nginx/conf/nginx.conf
增加如下配置:
http {
.....
# 配置上游服务器: 其实就被代理的服务器, springboot
upstream logserver{
server hadoop201:8080 weight=1;
server hadoop202:8080 weight=1;
server hadoop203: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;
}
...
}
}
步骤 2: 分发数据采集服务器的 jar 包
把第 3 章打包的 jar 分发到多个其他节点
步骤 3: 启动 Ngin
步骤 4: 分别在 3 个节点启动 jar
步骤 5: 为了方便启动制作统一启动脚本gmall_cluster
在步骤 3 中, 分别在 3 个节点启动 jar 比较麻烦, 制作统一启动脚本.
#!/bin/bash
case $1 in
"start")
{
for i in hadoop201 hadoop202 hadoop203
do
echo "========启动日志服务: $i==============="
ssh $i "source /etc/profile ; java -jar /opt/module/gmall/gmall-logger-1.0-SNAPSHOT.jar >/dev/null 2>&1 &"
done
};;
"stop")
{
for i in hadoop201 hadoop202 hadoop203
do
echo "========关闭日志服务: $i==============="
ssh $i "ps -ef|grep gmall-logger-1.0-SNAPSHOT.jar | grep -v grep|awk '{print \$2}'|xargs kill" >/dev/null 2>&1
done
};;
*)
{
echo 启动姿势不对, 请使用参数 start 启动日志服务, 使用参数 stop 停止服务
};;
esac
步骤 6: 启动脚本
./gmall_cluster start
如果在启动的时候报错: bad interpreter: /bin/bash^M: no such file or directory
, 是因为在 window 下写的脚本回车的时候使用的是\r\n
, 而在 linux 使用\n
就可以了, 所在每行的末尾多了一个\r
.
使用下面的命令去掉行尾的\r
:
sed -i -e 's/\r$//' gmall_cluster
步骤 7: 做测试
查看落盘目录中是否有产生的日志.