Spark-Bench 教程
本文原始地址:https://sitoi.cn/posts/19752.htmlhtml
系統環境配置
操做系統:centos7
git
環境要求:安裝 JDK
, Hadoop
, Spark
,mvn
運行環境github
步驟
-
安裝測試工具ubuntu
- 安裝
wikixmlj
- 安裝
SparkBench
基準測試組件 - 單機環境安裝方式
- 安裝
-
根據實際環境配置測試環境vim
- 修改基本環境
- 配置
Spark
運行參數部分
-
運行
Spark-Bench
測試centos- 機器學習測試案例
- 圖計算測試案例
- SQL 查詢測試案例
- 流處理測試案例
- 其餘測試案例
-
查看測試結果bash
安裝測試工具
全部步驟在
hdfs
帳號下進行:機器學習
安裝 wikixmlj
克隆項目:項目地址maven
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