【Hibench 】完成 HDP-Spark 性能測試

🍁 博主 "開著拖拉機回家"帶您 Go to New World.?🍁

🦄?個人主頁——🎐開著拖拉機回家_Linux,Java基礎學習,大數據運維-CSDN博客?🎐?🍁

🪁🍁 希望本文能夠給您帶來一定的幫助🌸文章粗淺,敬請批評指正!🍁🐥

目錄

🍁 博主 "開著拖拉機回家"帶您 Go to New World.?🍁

一、HiBench簡介

二、版本和依賴

三、下載和編譯

3.1 下載安裝包

3.2 HiBench編譯

3.3 Hibench目錄說明

四、修改配置文件

4.1 hibench.conf

4.2 hadoop.conf

4.3 spark.conf

五、運行測試

5.1 準備數據

5.2 運行測試

5.3 report結果查詢

六、遇到的問題


一、HiBench簡介


HiBench是Intel推出的一個大數據基準測試工具,可以幫助評估不同的大數據框架在速度、吞吐量和系統資源利用方面評估不同的大數據框架的性能表現。它包含一組Hadoop、Spark和流式WorkLoads,包括Sort、WordCount、TeraSort、Repartition、Sleep、SQL、PageRank、Nutch索引、Bayes、Kmeans、NWeight和增強型DFSIO等。它還包含幾個用于Spark Streaming、Flink、Storm和Gearpump的流式WorkLoads。

項目GitHub地址:GitHub - Intel-bigdata/HiBench: HiBench is a big data benchmark suite.


二、版本和依賴


軟件

版本

hadoop

2.10(官方要求Apache Hadoop 3.0.x, 3.1.x, 3.2.x, 2.x, CDH5, HDP)

maven

3.8.5

java

8

python

2.7.5

HDP 集群版本信息

Java 和Maven 環境配置


三、下載和編譯


3.1 下載安裝包


cd /opt
下載并解壓wget https://github.com/Intel-bigdata/HiBench/archive/v7.1.1.tar.gz
tar -zxvf v7.1.1.tar.gz
cd HiBench-7.1.1/

3.2 HiBench編譯


HiBench編譯支持如下幾種方式:

  • Build All
  • Build a specific framework benchmark
  • Build a single module
  • Build Structured Streaming

在進行Hibench的時候可以指定Spark和Scala的版本,通過如下參數指定

具體參考官網: https://github.com/Intel-bigdata/HiBench/blob/master/docs/build-hibench.md


# 執行全部編譯 編譯所有框架及模塊
./bin/build_all.sh

3.3 Hibench目錄說明


  • autogen:主要用于生成測試數據的源碼目錄
  • bin:測試腳本放置目錄
  • common:公共依賴源碼目錄
  • conf:配置文件目錄(Hibench/Hadoop/Spark等配置文件存放目錄)
  • docker:docker 方式部署
  • flinkbench:Flink框架源碼目錄
  • gearpumpbench:gearpumpbench框架源碼目錄
  • hadoopbench:hadoop框架源碼目錄
  • sparkbench:spark框架的源碼目錄
  • stormbench:storm框架的源碼目錄

四、修改配置文件


4.1 hibench.conf


hibench.conf 配置數據集大小和并行度

hibench.scale.profile                tiny
# Mapper number in hadoop, partition number in Spark
hibench.default.map.parallelism         8# Reducer nubmer in hadoop, shuffle partition number in Spark
hibench.default.shuffle.parallelism     8
  • hibench.scale.profile:主要配置HiBench測試的數據規模,可自定義配置;
  • hibench.default.map.parallelism:主要配置MapReduce的Mapper數量;
  • hibench.default.shuffle.parallelism:配置Reduce數量;

HiBench的默認數據規模有:tiny, small, large, huge, gigantic andbigdata,在這幾種數據規模之外還可以自己指定數據量。

4.2 hadoop.conf


hadoop.conf,配置hadoop集群的相關信息(如下為HDP集群配置)

cp   conf/hadoop.conf.template conf/hadoop.confvim conf/hadoop.conf
# Hadoop home
hibench.hadoop.home     /usr/hdp/3.1.4.0-315/hadoop# The path of hadoop executable
hibench.hadoop.executable     ${hibench.hadoop.home}/bin/hadoop# Hadoop configraution directory
hibench.hadoop.configure.dir  ${hibench.hadoop.home}/etc/hadoop# The root HDFS path to store HiBench data
hibench.hdfs.master       hdfs://winner# Hadoop release provider. Supported value: apache, cdh5, hdp
hibench.hadoop.release    hdp

hibench.hdfs.master 可以在 core-site.xml中的 fs.defaultFS 找到,開啟了NameNode高可用 。

4.3 spark.conf


spark.conf,配置hadoop集群的相關信息

cp   conf/spark.conf.template  conf/spark.conf
vim  conf/spark.conf# Spark home
hibench.spark.home      /usr/hdp/3.1.4.0-315/spark2

可自定義數據規模

conf/workloads/micro/terasort.conf
#datagen
hibench.terasort.tiny.datasize			32000
hibench.terasort.small.datasize			3200000
hibench.terasort.large.datasize			32000000
hibench.terasort.huge.datasize			320000000
hibench.terasort.gigantic.datasize		3200000000
hibench.terasort.bigdata.datasize		6000000000hibench.workload.datasize		${hibench.terasort.${hibench.scale.profile}.datasize}
## 增加自定義的數據量
#hibench.terasort.myscale.datasize 5242880
#hibench.workload.datasize               ${hibench.terasort.${hibench.scale.profile}.datasize}# export for shell script
hibench.workload.input			${hibench.hdfs.data.dir}/Terasort/Input
hibench.workload.output			${hibench.hdfs.data.dir}/Terasort/Output

在 hibench.conf 中 設置 hibench.scale.profile 為 myscale ,默認為 tiny


五、運行測試


5.1 準備數據


HDP 集群開啟了 kerberos , 運行腳本使用了 kerberos 用戶。如下生成一個WordCount測試數據集。

bin/workloads/micro/wordcount/prepare/prepare.sh

5.2 運行測試


將WordCount基準測試數據集生成后,就可以執行基準測試了,對于WordCount基準測試選擇了Spark 運行以下命令即可:

bin/workloads/micro/terasort/spark/run.sh

通過HDFS可以看到/HiBench目錄下生成的各個用例生成的測試數據及用例結果

YARN 可以到 任務 ScalaWordCount

5.3 report結果查詢


[root@hdp105 HiBench-7.1.1]# cat    report/hibench.report 
Type         Date       Time     Input_data_size      Duration(s)          Throughput(bytes/s)  Throughput/node     
ScalaSparkTerasort 2023-08-16 20:07:22 3200000              46.503               68812                17203               
ScalaSparkTerasort 2023-08-16 20:09:26 3200000              38.856               82355                20588               
ScalaSparkWordcount 2023-08-17 13:29:46 37181                66.082               562                  140  

ScalaSparkWordcount 數據大小37181 ,運行時間66.082 ·。 每個用例的測試數據量、運行耗時及吞吐量。如下是生成的日志和統計的指標文件:

即將 wordCount 使用Spark 運行后的 monitor.html 下載到本地 拖到瀏覽器

 /opt/HiBench-7.1.1/report/wordcount/spark/monitor.html

圖表展示如下:

Summarized Network throughputs & Packer-per-sedonds

Summarized Memory usage

Summarized Disk throughput & IOPS


六、遇到的問題


build 的時候遇到了 插件下載不了的問題 ,問題如下:

[INFO] mahout 7.1.1 ....................................... FAILURE [  7.767 s]
[INFO] PEGASUS: A Peta-Scale Graph Mining System 2.0-SNAPSHOT SKIPPED
[INFO] nutchindexing 7.1.1 ................................ SKIPPED
[INFO] stormbench 7.1.1 ................................... SKIPPED
[INFO] stormbench-streaming 7.1.1 ......................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:07 min
[INFO] Finished at: 2023-08-17T18:56:25+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.googlecode.maven-download-plugin:download-maven-plugin:1.2.0:wget (extra-download-execution) on project mahout: IO Error: Could not get content -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :mahout

報錯截圖如下:

修改pom文件

hadoopbench/mahout/pom.xml 

解決方式: 就是 把插件下載build 部分刪除 ,我不用你就行了, 無非構建 慢點。


參考鏈接:HiBench 7.x 使用問題整理

HiBench大數據基準測試使用 - 知乎

如何使用HiBench進行基準測試_51CTO博客_基準測試

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43194.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43194.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43194.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

單片機實訓報告

這周我們進行了單片機實訓&#xff0c;一周中我們通過七個項目1&#xff1a;P1 口輸入/輸出 2&#xff1a;繼電器控制 3 音頻控制 4&#xff1a;子程序設計 5&#xff1a;字符碰頭程序設計 6&#xff1a;外部中斷 7&#xff1a; 急救車與交通信號燈&#xff0c;練習編寫了子程…

mysql 設置 mysql 日志時間與系統時間保持一致

臨時設置 mysql> show variables like %log_timestamps%;-----------------------| Variable_name | Value |-----------------------| log_timestamps | UTC |-----------------------1 row in set (0.00 sec)系統是 CST &#xff0c; nysql 是 UTC當UTC時間為0點時&am…

docker的使用方法總結

Docker是一個非常強大的工具&#xff0c;它可以用于創建、部署和運行應用程序。以下是一些docker相關的常用指令&#xff0c; 1、查看docker版本 docker version 2、查看正在運行的Docker容器 docker ps 3、查看所有的docker容器&#xff08;包括沒有運行的容器&#xff0…

Python 之 Http 獲取網頁的 html 數據,并去掉 html 格式等相關信息

Python之 Http 獲取網頁的 html 數據,并去掉 html 格式等相關信息 目錄 Python之 Http 獲取網頁的 html 數據,并去掉 html 格式等相關信息

SCF金融公鏈新加坡啟動會 創新驅動未來

新加坡迎來一場引人矚目的金融科技盛會&#xff0c;SCF金融公鏈啟動會于2023年8月13日盛大舉行。這一受矚目的活動將為金融科技領域注入新的活力&#xff0c;并為廣大投資者、合作伙伴以及關注區塊鏈發展的人士提供一個難得的交流平臺。 在SCF金融公鏈啟動會上&#xff0c; Wil…

級聯(數據字典)

二級級聯&#xff1a; 一&#xff1a;新建兩個Bean 父級&#xff1a; /*** Description 數據字典* Author WangKun* Date 2023/7/25 10:15* Version*/ Data AllArgsConstructor NoArgsConstructor TableName("HW_DICT_KEY") public class DictKey implements Seri…

excel快速選擇數據、選擇性粘貼、凍結單元格

一、如何快速選擇數據 在excel中&#xff0c;希望選擇全部數據&#xff0c;通常使用鼠標選擇數據然后往下拉&#xff0c;當數據很多時&#xff0c;也可單擊單元格使用ctrl A選中全部數據&#xff0c;此外&#xff0c;具體介紹另一種方法。 操作&#xff1a;ctrl shift 方向…

【C++】STL---list

STL---list 一、list 的介紹二、list 的模擬實現1. list 節點類2. list 迭代器類&#xff08;1&#xff09;前置&#xff08;2&#xff09;后置&#xff08;3&#xff09;前置- -、后置- -&#xff08;4&#xff09;! 和 運算符重載&#xff08;5&#xff09;* 解引用重載 和 …

css3新增屬性

文章目錄 css3新增屬性box-shadowborder-radius設置橢圓 position: sticky;漸變背景線性漸變可重復的漸變背景 徑向漸變可重復的漸變背景 過渡分屬性 動畫關鍵幀與transition的關系demo 變形平移使用 旋轉使用 其他使用立體效果perspective元素位于3D空間還是平面中 縮放變形的…

tornado在模板中遍歷二維數組

要在Tornado模板中遍歷一個二維數組&#xff0c;你可以使用Tornado的模板語法來實現迭代和顯示數組中的每個元素。 以下是一個示例&#xff0c;演示如何在Tornado模板中遍歷和顯示二維數組的內容&#xff1a; template.html: <!DOCTYPE html> <html> <head&g…

小米分享 | 解密面試題:網易面試如何回答“創建線程有哪幾種方式?”

大家好&#xff0c;我是你們的小米&#xff01;今天要和大家一起探討一個在技術面試中常見的問題&#xff1a;創建線程有哪幾種方式&#xff1f;這可是個經典面試題哦&#xff01;不過別擔心&#xff0c;小米在這里為你詳細解析&#xff0c;幫你輕松應對&#xff0c;讓你在面試…

深度學習在MRI運動校正中的應用綜述

運動是MRI中的主要挑戰之一。由于MR信號是在頻率空間中獲取的&#xff0c;因此除了其他MR成像偽影之外&#xff0c;成像對象的任何運動都會導致重建圖像中產生偽影。深度學習被提出用于重建過程的幾個階段的運動校正。廣泛的MR采集序列、感興趣的解剖結構和病理學以及運動模式&…

用dcker極簡打包java.jar鏡像并啟動

用dcker極簡打包java.jar鏡像并啟動 一、本地打包好jar包 二、新建文件夾&#xff0c;將步驟1中的jar包拷貝到文件夾下 三、同目錄下新建Dockerfile ## 基礎鏡像&#xff0c;這里用的是openjdk:8 FROM openjdk:8## 將步驟一打包好的jar包 拷貝到鏡像的 跟目錄下[目錄可以自定義…

Oracle字段長度不足位數補零

Oracle字段長度不足位數補零 有時候從數據庫中取出的月份值是1&#xff0c;而不是01&#xff0c;該怎么辦呢 SELECTLPAD( CODE_MONTH, 2, 0 ) FROMtb_cube_TY001 WHERECODE_BM_MEATYPE TY20 AND code_measure MYLX01 AND code_month <> ~ AND CODE_ENTITY 01A AND…

【實戰】十一、看板頁面及任務組頁面開發(二) —— React17+React Hook+TS4 最佳實踐,仿 Jira 企業級項目(二十四)

文章目錄 一、項目起航&#xff1a;項目初始化與配置二、React 與 Hook 應用&#xff1a;實現項目列表三、TS 應用&#xff1a;JS神助攻 - 強類型四、JWT、用戶認證與異步請求五、CSS 其實很簡單 - 用 CSS-in-JS 添加樣式六、用戶體驗優化 - 加載中和錯誤狀態處理七、Hook&…

“深入探索JVM:解析Java虛擬機的工作原理與優化“

標題&#xff1a;深入探索JVM&#xff1a;解析Java虛擬機的工作原理與優化 摘要&#xff1a;本篇博客將深入探討Java虛擬機&#xff08;JVM&#xff09;的工作原理以及如何優化JVM的性能。我們將介紹JVM的組成部分、類加載過程、內存管理、垃圾回收機制以及常見的性能優化技術…

記一次線上OOM事故

OOM 問題 linux內核有個機制叫OOM killer(Out-Of-Memory killer)&#xff0c;當系統需要申請內存卻申請不到時&#xff0c;OOM killer會檢查當前進程中占用內存最大者&#xff0c;將其殺掉&#xff0c;騰出內存保障系統正常運行。 一般而言&#xff0c;一個應用的內存逐漸增加&…

__setitem__和__getitem和__delitem__

目錄 一、__setitem__ 二、__getitem__ 三、__delitem__與__delattr__ python從小白到總裁完整教程目錄:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 class Foo:def __init__(self, name):self.name namedef __getitem__(s…

mekefile 編寫

mekefile 編寫 參考 Linux下使用 autoconf和automake 自動構建 項目 make file文件 makefile 中加入shell語句 if shell 參考 foo.bak: foo.barecho "foo"if [ -d "~/Dropbox" ]; then echo "Dir exists"; fi Or foo.bak: foo.barecho &quo…

文心一言 VS 訊飛星火 VS chatgpt (76)-- 算法導論7.3 1題

一、如果用go語言&#xff0c;為什么我們分析隨機化算法的期望運行時間&#xff0c;而不是其最壞運行時間呢? 文心一言&#xff1a; 在分析算法的性能時&#xff0c;期望運行時間是一個重要的指標&#xff0c;它描述了算法在平均情況下的表現。期望運行時間考慮了所有可能的…