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
