Spark-Bench 教程

本文原始地址:https://sitoi.cn/posts/19752.html

系统环境配置

操作系统:centos7

环境要求:安装 JDK, Hadoop, Sparkmvn 运行环境

步骤

  1. 安装测试工具

    1. 安装 wikixmlj
    2. 安装 SparkBench 基准测试组件
    3. 单机环境安装方式
  2. 根据实际环境配置测试环境

    1. 修改基本环境
    2. 配置 Spark 运行参数部分
  3. 运行 Spark-Bench 测试

    1. 机器学习测试案例
    2. 图计算测试案例
    3. SQL 查询测试案例
    4. 流处理测试案例
    5. 其他测试案例
  4. 查看测试结果

安装测试工具

所有步骤在 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

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数

<Workload> 根据测试案例表填写实际内容,下同:

vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh
图计算测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
网页排名 PageRank
SVD++ SVDPlusPlus
三角计数 TriangleCount

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数
vim <Workload>/conf/env.sh
运行生成测试数据脚本
./<Workload>/bin/gen_data.sh
运行相应案例测试脚本
./<Workload>/bin/run.sh

SQL 查询测试案例

进入到 spark-bench 目录下,在该目录下执行操作:

测试案例 Workload
SQL查询 SQL

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数
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

步骤:

  1. 修改配置参数
  2. 首先在一个终端中执行生成随机数据
  3. 然后再另一个终端中执行
修改配置参数
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

步骤:

  1. 修改配置参数
  2. 运行生成测试数据脚本
  3. 运行相应案例测试脚本
修改配置参数
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 测试教程的更多相关文章

  1. MyCat安装与测试教程 超详细!

    MyCat安装与测试教程 超详细! MyCat基础知识 一.什么是MYCAT? 1. 一个彻底开源的,面向企业应用开发的大数据库集群 2. 支持事务.ACID.可以替代MySQL的加强版数据库 3. ...

  2. Kail Linux渗透测试教程之免杀Payload生成工具Veil

    Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...

  3. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

  4. Mac环境下RabbitMq安装与测试教程

    RabbitMq安装与测试教程 Installing on Mac I. 安装 123456789 brew install rabbitmq ## 进入安装目录cd /usr/local/Cella ...

  5. monkey测试===monkeyrunner测试教程(1)

    1.安装测试环境 jdk 安装与配置 android sdk安装与配置 Python编辑器安装与配置 以上安装请自行百度教程 Monkeyrunner使用方法 http://www.android-d ...

  6. 深度相机Astra Pro测试教程

    最近在微信群内,很多群友在群友的推荐下,购买了Astra pro的深度相机,价格地道,物超所值!群友反馈积极,所以这里出一波简单的教程.   以下内容知识抛砖引玉,主要讲解windows下和Ubunt ...

  7. Unity导出iOS真机测试教程

    原地址:http://unity3d.9tech.cn/news/2014/0410/40177.html 学 习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发 ...

  8. iOS—最全的真机测试教程

    准备 开发者账号 自从Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有app具有“推送”等功能的时候,要真机测试就必须要开发者账号和设置证书.苹果只是让你体验一下它的 ...

  9. 测试教程网.unittest教程.3. 实例: 测试弱密码

    From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...

随机推荐

  1. Java高级开发_性能优化的细节

    一.核心部分总结: 尽量在合适的场合使用单例[减负提高效率] 尽量避免随意使用静态变量[GC] 尽量重用对象,避免过多过常地创建Java对象[最大限度地重用对象] 尽量使用final修饰符[内联(in ...

  2. vue本地静态图片的路径问题解决方案

    不少人在vue的开发中遇到这样一个问题: img的src属性绑定url变量,然而图片加载失败. 大部分的情况中,是开发者使用了错误的写法,例如: <img src="{{ imgUrl ...

  3. Sc config http start= disabled

    我不小心使用这个命令 Sc config http start= disabled, 现在http服务 无法启动 管理员运行 sc config http start= demand & ne ...

  4. docker nginx-php容器镜像瘦身优化

    1. 在安装好php环境的容器,参考上面贴出的链接那篇文章的部分,做好基础工作: #创建工作目录 mkdir /rootfs #进入工作目录 cd /rootfs #创建基础目录 mkdir -p b ...

  5. nginx负载均衡原理

    负载均衡在服务端开发中算是一个比较重要的特性.因为Nginx除了作为常规的Web服务器外,还会被大规模的用于反向代理前端,因为Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就 ...

  6. 快排的java实现方式,用java代码来实现快排

    1. 快排的思想 通过一趟排序将要排序的数据分割成独立的两部分,前一部分的所有数据都要小于后一部分的所有数据,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据的 ...

  7. Springboot Actuator之七:actuator 中原生endpoint源码解析1

    看actuator项目的包结构,如下: 本文中的介绍Endpoints. Endpoints(端点)介绍 Endpoints 是 Actuator 的核心部分,它用来监视应用程序及交互,spring- ...

  8. cocos2d设置窗口标题

    //窗口标题 #ifdef WIN32 CCEGLView* pGlView=CCDirector::sharedDirector()->getOpenGLView(); if (pGlView ...

  9. Logback获取SkyWalking的全局唯一标识 trace-id 记录到日志中

    为什么要获取trace-id 通过上文Docker-Compose搭建单体SkyWalking我们搭建了SkyWalking服务,我们需要在日志中记录下来每次请求的唯一标识(trace-id),这样就 ...

  10. webbrowser实现一个进程一个代理的办法

    public static void RefreshIESettings(string strProxy) { const int INTERNET_OPTION_PROXY = 38; const ...