用Nginx进行反向代理:
1.搭建Nginx环境
2.将日志采集的jar包同步到另外两个节点
3.修改模拟日志生成的配置
vim application.yml
# 外部配置打开
#logging.config=./logback.xml
#业务日期
mock.date=2020-07-13
#模拟数据发送模式
mock.type: "http"
#http 模式下,发送的地址
mock.url: "http://hadoop102/applog"
注意这里的配置,原文档这里的配置是有错的(反正我的是不行,改成这样就好了)
4.测试
- 运行kafka消费者,准备消费数据
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic ods_base_log
- 启动 nginx 服务
/opt/module/nginx/sbin/nginx
- 运行采集数据的服务器集群的 jar(注意三台都要启动,执行下面命令)
java -jar gmall-logger.jar
- 运行模拟生成数据的 jar
java -jar gmall2020-mock-log-2020-12-18.jar
执行完上述操作如何可以正常采集数据,kafka能正常消费,那说明集群没有问题。
集群群起脚本:
#!/bin/bash
JAVA_BIN=/opt/module/jdk1.8.0_212/bin/java
APPNAME=gmall-logger.jar
case $1 in
"start")
{
for i in hadoop102 hadoop103 hadoop104
do
echo "========: $i==============="
ssh $i "$JAVA_BIN -Xms32m -Xmx64m -jar
/opt/module/gmall-flink/rt_applog/$APPNAME >/dev/null 2>&1 &"
done
};;
"stop")
{
for i in hadoop102 hadoop103 hadoop104
do
echo "========: $i==============="
ssh $i "ps -ef|grep $APPNAME | grep -v grep|awk '{print \$2}'| xargs kill" >/dev/null 2>&1
done
};;
esac
注意,如果用这个群起脚本有问题,可能这里的 J A V A B I N 和 JAVA_BIN和 JAVABIN和APPNAME有问题,不要用这个,直接把两个值复制过去就好了
#!/bin/bash
JAVA_BIN=/opt/module/jdk1.8.0_212/bin/java
APPNAME=gmall-logger.jar
case $1 in
"start")
{
for i in hadoop102 hadoop103 hadoop104
do
echo "========: $i==============="
ssh $i "/opt/module/jdk1.8.0_212/bin/java -Xms32m -Xmx64m -jar
/opt/module/gmall-flink/rt_applog/gmall-logger.jar >/dev/null 2>&1 &"
done
};;
"stop")
{
for i in hadoop102 hadoop103 hadoop104
do
echo "========: $i==============="
ssh $i "ps -ef|grep $APPNAME | grep -v grep|awk '{print \$2}'| xargs kill" >/dev/null 2>&1
done
};;
esac```
改完之后,再测试一下,就好了。
总结
遇到脚本群起springBoot服务器gmall-logger.jar失败,首先开启kafka集群,手动开启各个节点的服务器gmall-logger.jar,以及Nginx服务启动,再启动模拟数据生成的jar包,如果不能正常运行,检查哪一步除了问题,如果能正常运行,那就是群起脚本的问题,检查脚本。