Spark-Bench 测试教程
Spark-Bench 教程
系统环境配置
操作系统:centos7
环境要求:安装 JDK, Hadoop, Spark,mvn 运行环境
步骤
安装测试工具
- 安装
wikixmlj - 安装
SparkBench基准测试组件 - 单机环境安装方式
- 安装
根据实际环境配置测试环境
- 修改基本环境
- 配置
Spark运行参数部分
运行
Spark-Bench测试- 机器学习测试案例
- 图计算测试案例
- SQL 查询测试案例
- 流处理测试案例
- 其他测试案例
查看测试结果
安装测试工具
所有步骤在
hdfs账号下进行:
安装 wikixmlj
克隆项目:项目地址
git clone https://github.com/synhershko/wikixmlj.git
进入项目目录进行 mvn 编译:
cd wikixmlj
mvn package -Dmaven.test.skip=true
mvn install -Dmaven.test.skip=true
安装 SparkBench 基准测试组件
注:
ubuntu系统需要安装以下包:
sudo apt-get install libgfortran3
克隆项目:项目地址
git clone -b legacy https://github.com/CODAIT/spark-bench.git
进入项目目录进行构建:
cd spark-bench/
./bin/build-all.sh
单机环境安装方式
在其他机器上执行上述两步,将两个文件拷贝到需要测试的机器上的 hdfs 账号下
注:
ubuntu系统需要安装额外包
根据实际环境配置测试环境
进入到
spark-bench目录下修改conf目录下的env.sh
cd spark-bench/
vim conf/env.sh
修改基本环境
根据实际情况修改对应配置
master="<master_ip_address>" 根据实际情况修改master
MC_LIST=""
HADOOP_HOME=<HADOOP_HOME> 根据实际情况修改HADOOP_HOME
SPARK_HOME=<SPARK_HOME> 根据实际情况修改SPARK_HOME
HDFS_URL="hdfs://${master}:9000" 根据实际情况修改端口号
DATA_HDFS="hdfs://${master}:9000/SparkBench" 根据实际情况修改端口号
配置 Spark 运行参数部分
修改
conf目录下的env.sh
SPARK_EXECUTOR_MEMORY=4G 根据实际情况修改
export SPARK_DRIVER_MEMORY=4g 根据实际情况修改
export SPARK_EXECUTOR_INSTANCES=1 根据实际情况修改
export SPARK_EXECUTOR_CORES=1 根据实际情况修改
运行 Spark-Bench 测试
| 测试案例 | 功能 |
|---|---|
| 机器学习测试案例 | 逻辑回归,支持向量机,矩阵分解 |
| 图计算测试案例 | PageRank,SVD++,三角计数(Triangle Count) |
| SQL查询测试案例 | Hive,RDDRelation |
| 流处理测试案例 | Twitter Tag , Page View |
| 其他测试案例 | Kmeans,线性回归,决策树,最短路径,标签传播,连通图,强连通图 |
机器学习测试案例
进入到
spark-bench目录下,在该目录下执行操作:
| 测试案例 | Workload |
|---|---|
| 逻辑回归 | LogisticRegression |
| 支持向量机 | SVM |
| 矩阵分解 | MatrixFactorization |
步骤:
- 修改配置参数
- 运行生成测试数据脚本
- 运行相应案例测试脚本
修改配置参数
<Workload>根据测试案例表填写实际内容,下同:
vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh
图计算测试案例
进入到
spark-bench目录下,在该目录下执行操作:
| 测试案例 | Workload |
|---|---|
| 网页排名 | PageRank |
| SVD++ | SVDPlusPlus |
| 三角计数 | TriangleCount |
步骤:
- 修改配置参数
- 运行生成测试数据脚本
- 运行相应案例测试脚本
修改配置参数
vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh
SQL 查询测试案例
进入到
spark-bench目录下,在该目录下执行操作:
| 测试案例 | Workload |
|---|---|
| SQL查询 | SQL |
步骤:
- 修改配置参数
- 运行生成测试数据脚本
- 运行相应案例测试脚本
修改配置参数
vim /<Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh
在运行 SQL 查询案例时,默认是运行其中的 RDDRelation 案例,如果要想运行其中的 Hive 案例可以执行下面代码:
./<Workload>/bin/run.sh hive
流处理测试案例
进入到
spark-bench目录下,在该目录下执行操作:
| 测试案例 | Workload |
|---|---|
| 流处理 | Streaming |
步骤:
- 修改配置参数
- 首先在一个终端中执行生成随机数据
- 然后再另一个终端中执行
修改配置参数
vim <Workload>/conf/env.sh
在运行流数据处理案例时,例如 TwitterTag,Streaming 逻辑回归
首先在一个终端中执行生成随机数据
在执行脚本时必须要指定你要运行案例名字的参数,如下:
./<Workload>/bin/gen_data.sh TwitterPopularTags
然后再另一个终端中执行
在执行脚本时必须要指定你要运行案例名字的参数,如下:
./<Workload>/bin/run.sh TwitterPopularTags
当然你也可以在
<Workload>/conf/env.sh配置文件中指定你要运行的子案例的名称,通过修改subApp=TwitterPopularTags
其他测试案例
进入到
spark-bench目录下,在该目录下执行操作:
| 测试案例 | Workload |
|---|---|
| Kmeans | Kmeans |
| 线性回归 | LinearRegression |
| 决策树 | DecisionTree |
| 最短路径 | ShortestPaths |
| 标签传播 | LabelPropagation |
| 连通图 | ConnectedComponent |
| 强连通图 | StronglyConnectedComponent |
| 主成分分析 | PCA |
步骤:
- 修改配置参数
- 运行生成测试数据脚本
- 运行相应案例测试脚本
修改配置参数
vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh
查看测试结果
在 spark-bench 目录下的 num 目录下可以查看到运行结果。
相关链接
开源项目官网 : https://github.com/CODAIT/spark-bench/tree/legacy
安装文档 : https://blog.csdn.net/xfg0218/article/details/79250019
Spark-Bench 测试教程的更多相关文章
- MyCat安装与测试教程 超详细!
MyCat安装与测试教程 超详细! MyCat基础知识 一.什么是MYCAT? 1. 一个彻底开源的,面向企业应用开发的大数据库集群 2. 支持事务.ACID.可以替代MySQL的加强版数据库 3. ...
- Kail Linux渗透测试教程之免杀Payload生成工具Veil
Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...
- Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap
Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...
- Mac环境下RabbitMq安装与测试教程
RabbitMq安装与测试教程 Installing on Mac I. 安装 123456789 brew install rabbitmq ## 进入安装目录cd /usr/local/Cella ...
- monkey测试===monkeyrunner测试教程(1)
1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...
- 深度相机Astra Pro测试教程
最近在微信群内,很多群友在群友的推荐下,购买了Astra pro的深度相机,价格地道,物超所值!群友反馈积极,所以这里出一波简单的教程. 以下内容知识抛砖引玉,主要讲解windows下和Ubunt ...
- Unity导出iOS真机测试教程
原地址:http://unity3d.9tech.cn/news/2014/0410/40177.html 学 习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发 ...
- iOS—最全的真机测试教程
准备 开发者账号 自从Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有app具有“推送”等功能的时候,要真机测试就必须要开发者账号和设置证书.苹果只是让你体验一下它的 ...
- 测试教程网.unittest教程.3. 实例: 测试弱密码
From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...
随机推荐
- Spring Security教程(五)
在之前的几篇security教程中,资源和所对应的权限都是在xml中进行配置的,也就在http标签中配置intercept-url,试想要是配置的对象不多,那还好,但是平常实际开发中都往往是非常多的资 ...
- [HeadFrist-HTMLCSS学习笔记]第五章认识媒体:给网页添加图像
[HeadFrist-HTMLCSS学习笔记]第五章认识媒体:给网页添加图像 干货 JPEG.PNG.GIF有何不同 JPEG适合连续色调图像,如照片:不支持透明度:不支持动画:有损格式 PNG适合单 ...
- 【IntelliJ IDEA学习之七】maven专题
版本:IntelliJIDEA2018.1.4 一.maven全局设置 设置Runner 运行VM参数:-Xms128m -Xmx512m -Duser.language=zh -Dfile.enco ...
- 【C/C++开发】c++ 工具库 (zz)
下面是收集的一些开发工具包,主要是C/C++方面的,涉及图形.图像.游戏.人工智能等各个方面,感觉是一个比较全的资源.供参考! 原文的出处:http://www.codemonsters.de/ho ...
- Python【每日一问】32
问: [基础题]:手机品牌存放在一个列表中 brandlist = ['华为','苹果','一加','OPPO','小米'],请实现以下功能:随机选择一个手机品牌屏幕输出 [提高题]:编写一个函数,输 ...
- ArcSOC进程数不断增长导致oracle processes溢出原因分析
现场出现了一个问题,oracle运行一段时间之后,process个数会溢出,然后新的连接会失败.通过分析,发现Arcgis Server 的ArcSOC进程在不段增长.ArcSOC是arcgis se ...
- StringToKenizer和Scanner的区别
相同点: StringToKenizer类和Scanner类都可用于分解字符序列中的单词! 不同点: StringToKenizer类把分解出的全部字符串都存放到StringToKenizer对象的实 ...
- 第十五节:Asp.Net Core中的各种过滤器(授权、资源、操作、结果、异常)
一. 简介 1. 说明 提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权.响应缓存(对请求管道进行短路,以便返回缓存的响应). 防盗链.本地化国际化等,过滤器用于横向处理业务 ...
- Delphi BusinessSkinForm使用说明
1.先放bsBusinessSkinForm.bsSkinData.bsStoredSkin各一个到窗体上 2.修改bsBusinessSkinForm的SkinData属性为bsSkinData1 ...
- C语言交换两个指针所指位置的数值
交换指针变量x和y所指向的存储位置处存放的值,不需要第三个位置来存储临时变量.这种方式并没有性能上的优势. void replace(int *x, int *y) { *y = *x ^ *y; * ...