背景
因成本影响,公司想从高价格的阿里云转到价格较低的金山云上,让我们做一下对金山云上自带的spark_on_yarn
进行压力测试。经过多方讨论,最终选择sparkbench
+ambari
的方案。
方案
将采用梯度测试法,对集群的磁盘I/0,网络I/O,内存使用率,cpu使用率四个纬度测试。
1.10亿条24个属性kmeans的向量数据创建、数据分析。
2.24亿条24个属性kmeans的向量数据创建、数据分析(数据的创建最多是max(Int))。
资源配置
总的集群资源
表1
cluster cpu cores | cluster memory | cluster disk | node |
---|---|---|---|
96 | 360G | 24T | 12 |
方案一-10亿条数据测压
Spark-Bench
Spark-Bench is a flexible system for benchmarking and simulating Spark jobs.
Spark-Bench
是一个模仿spark job
测试基准的弹性系统
note:详细细节可以查看spark-bench document
Data generator 10亿条数据
spark-bench = {
spark-submit-config = [{
conf={
"spark.default.parallelism"=100
}
spark-args={master="yarn"
num-executors=10
executor-cores=4
executor-memory="4g"
}
workload-suites = [
{
descr = "One run of kmeans and that's it!"
workloads = [
{
name = "data-generation-kmeans"
rows