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. Linux搭建简单的http文件服务器

    为了让自动化脚本可以通过wget来下载安装包,需要在集群中的某个节点部署一个http文件服务器 在Ubuntu中通过apt-get install apache2 安装apache2CentOS7中通 ...

  2. redis实现mysql的数据缓存

    环境设定base2 172.25.78.12 nginx+phpbase3 172.25.78.13 redis端base4 172.25.78.14 mysql端# 1.在base2(nginx+p ...

  3. C++ 重写虚函数的代码使用注意点+全部知识点+全部例子实现

    h-------------------------- #ifndef VIRTUALFUNCTION_H #define VIRTUALFUNCTION_H /* * 派生类中覆盖虚函数的使用知识点 ...

  4. 关于Vue中props的详解

    看一下官方文档: 组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据.父组件的数据需要通过 prop 才能下发到子组件中. 也就是props是子组件访问父组件数 ...

  5. Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡

    数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...

  6. Redis与Mysql双写一致性方案解析

    一 前言 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存 ...

  7. python中进程、线程、协程简述

    进程 python中使用multiprocessing模块对进程进行操作管理 进程同步(锁.信号量.事件) 锁 —— multiprocessing.Lock 只要用到了锁 锁之间的代码就会变成同步的 ...

  8. 关于Keras 版本的安装与修改

    神经协同过滤(Neural Collaborative Filtering)神作的源码的实验设置要求是: 然而,我们使用控制台 (命令:)或者是PyCharm直接安装的版本均是 最新版本(即 2.0版 ...

  9. python实现栈结构

    # -*- coding:utf-8 -*- # __author__ :kusy # __content__:文件说明 # __date__:2018/9/30 17:28 class MyStac ...

  10. Linux基础(01)开发环境的搭建

    内核源码下载 : https://blog.csdn.net/u011375704/article/details/81866427 1.在虚拟机安装Ubuntu 14.04版本 (安装时设置好用户名 ...