压力测试前需要对大数据环境、日志和存储数据库进行清理、检查环境是否可用、保存测试前的环境状态。
压力测试过程中需要定期检查PARQUET文件生成情况、报表生成情况、HBASE数据生成情况、是否有SPARK APP FAILED、收集错误日志等。
压力测试后需要检查PARQUET文件生成情况、报表生成情况、HBASE数据生成情况、是否有SPARK APP FAILED、收集错误日志、查看APP执行时间间隔、各主机CPU内存网络磁盘状况等。
基础脚本,eea_2_all.sh,分发命令到HDP集群各节点主机执行,内容如下,注意基础脚本运行于HDP第一台主机(与其他主机做免密处理)。
#数组中用主机名亦可
HOSTS=(192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13)
COMMAND=$1
PROMPT=$2
if [ $# == 0 ] ; then
COMMAND="/bin/rm -rf /var/log/rmslog/*;/bin/echo '' > /var/log/rmslog/debug.log;/bin/chmod 666 /var/log/rmslog/debug.log"
fi
count=1
for host in ${HOSTS[@]}
do
echo "-----------------------eea-younge-${count}.test--$host: ${PROMPT}----------------------"
ssh $host ${COMMAND}
let count++
done
1.测试前的准备工作包括,
a.确保Hmaster上面的Hbase Thrift Server处于运行状态,命令如下。
. ssh 192.168.1.6 "if test $(ps -ef | grep 'hbase.thrift.ThriftServer start' | wc -l ) -eq 2 then ; echo 'Hbase Thrift Server is running.' else nohup hbase thrift start & fi"
b.对大数据环境、本地日志和存储数据库进行清理,检查YARN中应用情况。
#清理Hbase表
#其中cmd.hbase存放的是按行存储的hbase shell命令,最后一行需为exit,用于退出hbase shell。
#清理Hdfs Parquet文件,shell/clear_parquets.sh