栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

Benchmark笔记(1)--Ubuntu上使用HiBench对Hadoop集群进行基准测试

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Benchmark笔记(1)--Ubuntu上使用HiBench对Hadoop集群进行基准测试

HiBench 是一个大数据基准套件,可帮助评估不同的大数据框架的速度、吞吐量和系统资源利用率。

它包含一组 Hadoop、Spark 和流式工作负载,包括 Sort、WordCount、TeraSort、Repartition、Sleep、SQL、PageRank、 Nutch indexing、Bayes、Kmeans、NWeight 和增强型 DFSIO 等。

它还包含多个用于 Spark Streaming 的流式工作负载、Flink、Storm 和 Gearpump。

hibench作为一个测试hadoop的基准测试框架,提供了对于hive:(aggregation,scan,join),排序(sort,TeraSort),大数据基本算法(wordcount,pagerank,nutchindex),机器学习算法(kmeans,bayes),集群调度(sleep),吞吐(dfsio),以及新加入5.0版本的流测试: we provide following streaming workloads for SparkStreaming, Storm .

HiBench共计19个测试方向,可大致分为6个测试类别:分别是micro,ml(机器学习),sql,graph,websearch和streaming。

本节测试hadoop的sort、wordcount、sleep以及dfsio,都是micro这个类别。

一、ubuntu下安装hadoop

1、创建hadoop用户

 $ sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell
 $ sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码
 $ sudo adduser hadoop sudo             #为hadoop用户增加管理员权限
 $ su - hadoop                          #切换当前用户为用户hadoop
 $ sudo apt-get update                  #更新hadoop用户的apt,方便后面的安装

2、安装ssh,并且设置ssh无密码登录

 $ sudo apt-get install openssh-server   #安装SSH server
 $ ssh localhost                         #登陆SSH,第一次登陆输入yes
 $ exit                                  #退出登录的ssh localhost
 $ cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
 $ ssh-keygen -t rsa 
 $ cat ./id_rsa.pub >> ./authorized_keys #加入授权
 $ ssh localhost   

3、jdk安装

 $ sudo apt-get install openjdk-8-jre openjdk-8-jdk
 $ cd
 $ vim .bashrc      #添加JAVA PATH
 # JAVA PATH
 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

添加后先按ESC,然后再输入ZZ(两个大写),然后更新环境变量

 $ source .bashrc
 $ java -version         #测试java环境

看到相应版本信息输出即表明配置正确

4、hadoop安装

先在windows下去这个网站下载https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz(ubuntu里面下载速度太慢),然后把文件传到ubuntu里面,再解压缩(由于后面要下载HiBench,而保证HiBench配置成功的前提就是要保证hadoop的版本是要2.x,最好不要下载3.x的版本)

下载后

 $ sudo tar -zxvf  hadoop-2.7.7.tar.gz -C /usr/local    #解压到/usr/local目录下
 $ cd /usr/local
 $ sudo mv  hadoop-2.6.0    hadoop                      #重命名为hadoop
 $ sudo chown -R hadoop ./hadoop 

安装好后,在hadoop用户下给hadoop配置环境变量,若用户不是hadoop则输入 su - hadoop切换用户 切换完成后输入 vim /etc/profile(权限要求root) 在文件底部添加

 export HADOOP_HOME=/usr/local/hadoop   #这里的路径不能照抄,要找到自己hadoop刚刚解压到哪里了
 export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后按ESC,再输入ZZ(大写)保存退出

最后输入

 $ hadoop version

出现版本信息则证明成功了

5、hadoop伪分布式配置

 $ cd /usr/local/hadoop/etc/hadoop/
 $ vim core-site.xml

然后修改里面的内容为:

 

     
         hadoop.tmp.dir
         file:/usr/local/hadoop/tmp
         Abase for other temporary directories.
     
     
         io.file.buffer.size
         4096
     
     
         fs.defaultFS
         hdfs://localhost:9000
     
 

保存退出,然后

 
$ vim hdfs-site.xml

修改里面的内容为:

 

     
         dfs.replication
         1
     
     
         dfs.namenode.name.dir
         file:/usr/local/hadoop/tmp/dfs/name
     
     
         dfs.datanode.data.dir
         file:/usr/local/hadoop/tmp/dfs/data
     
 
 ​

配置完成后:

 
$ cd
 $ cd /usr/local/hadoop
 $ bin/hdfs namenode -format       # namenode 格式化
 $ sbin/start-dfs.sh               # 开启守护进程
 $ jps                             # 判断是否启动成功

若成功启动后会有以下显示

二、安装HiBench

前提要求

python 2.x(x>=2.6)

 $ python --version   #输入这个即可查看当前版本

若不符合要求

 $ sudo apt-get install python2.7
 $ sudo apt update

即可

1、安装maven

 
$ wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.zip --no-check-certificate
 $ unzip apache-maven-3.8.5-bin.zip -d /usr/local/
 $ cd
 $ vim .bashrc

进入后添加maven环境

 # set maven environment
 export M3_HOME=/usr/local/apache-maven-3.8.5
 export PATH=$M3_HOME/bin:$PATH

保存退出后:

 $ source .bashrc
 $ mvn -v

若显示出maven版本号相关信息则表明成功

换镜像加快下载速度

$ vim /usr/local/apache-maven-3.8.5/conf/setting.xml
 

          
           alimaven  
           aliyun maven  
           http://maven.aliyun.com/nexus/content/groups/public/  
           central  
     
 
 

安装bc(bc 用于生成 report 信息,再后面运行完后能看到运行的时间等信息)

 $ sudo apt-get install bc

2、下载HiBench

$ cd
$ git clone https://github.com/intel-bigdata/HiBench.git  #若报错则把https换成http

切到HiBench下(进入你安装的HiBench的目录下),执行对应的安装操作,可以选择自己想要安装的模块。以安装hadoop框架下用于测试sql的模块为例:

 $ mvn -Phadoopbench -Dmodules -Psql -Dscala=2.11 clean package

或者构建全部框架:

 $ mvn -Dspark=2.4 -Dscala=2.11 clean package

成功后如下图所示:

3、配置HiBench

1、hibench.conf,配置数据集大小和并行度

 $ cd
 $ cd HiBench/conf
 $ vim HiBench.conf
 
# Data scale profile. Available value is tiny, small, large, huge, gigantic and bigdata.
 # The definition of these profiles can be found in the workload's conf file i.e. conf/workloads/micro/wordcount.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

2、hadoop.conf,配置hadoop集群的相关信息,这一步要搞清楚自己机器上hadoop的安装目录,不能照抄

 $ cp hadoop.conf.template hadoop.conf
 $ vim hadoop.conf
 # Hadoop home   hadoop的家目录
 hibench.hadoop.home     /usr/local/hadoop      #这个是上面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://master:9000
 ​
 ​
 # Hadoop release provider. Supported value: apache
 hibench.hadoop.release    apache

上面HDFS的path是怎么得到的呢?需要到hadoop的安装目录下找到etc/hadoop/core-site.xml,就能看到hdfs的命名空间

amax@master:/usr/local/hadoop/etc/hadoop$ vim core-site.xml
 
 
 
 ​
 
 ​
 
     
     
         fs.defaultFS
         hdfs://master:9000
     
     
     
         io.file.buffer.size
         4096
     
     
     
         hadoop.tmp.dir
         /usr/local/hadoop/tmp
     
 
 ~

3、修改frameworks.lst和benchmark.lst(两个文件都在conf文件夹内),指定要使用的benchmark和在哪个平台上运行,上面下载的是hadoop,所以在frameworks.lst中把spark注释掉

 hadoop
 #spark

这里对hadoop的sort、wordcount、sleep以及dfsio进行测试,所以把benchmark.lst文件里其他注释掉

micro.sleep
 micro.sort
 micro.terasort
 micro.wordcount
 micro.repartition
 micro.dfsioe
 ​
 #sql.aggregation
 #sql.join
 #sql.scan
 ​
 #websearch.nutchindexing
 #websearch.pagerank
 ​
 #ml.bayes
 #ml.kmeans
 #ml.lr
 #ml.als
 #ml.pca
 #ml.gbt
 #ml.rf
 #ml.svd
 #ml.linear
 #ml.lda
 #ml.svm
 #ml.gmm
 #ml.correlation
 #ml.summarizer
 ​
 #graph.nweight
4、运行HiBench
在运行过程中我碰到的错误是,提示Get workers from yarn-site.xml page failed,这也有可能是很多人会碰到的,解决办法是: 在HiBench安装目录conf目录下修改hibench.conf文件,要配置hibench.masters.hostnames 和hibench.slaves.hostnames两项。 配置为集群的master节点和slaves节点对应的主机名。
 hibench.masters.hostnames       node1.novalocal     #文件里面这两行的hostnames后面原本都是空的
 hibench.slaves.hostnames        node1.novalocal node2.novalocal node3.novalocal

若打开文件一时找不到,可以用里面的搜索功能:

这样子就能找到了。(很多教程都没有说这一步,导致配了很多次,上网找才到这个问题解决办法)

然后要在hadoop的安装目录下启动hadoop

$ ./start-all.sh

接着切换到Hibench目录下,增加权限(要直到自己的目录在哪,我这里是直接安装在home的目录下,所以cd后能直接cd HiBench/bin)

$ cd
$ cd HiBench/bin
$ chmod +x -R functions/
$ chmod +x -R workloads/
$ chmod +x run_all.sh

然后执行

$ ./run_all.sh

当出现这样子时就证明运行成功了

此时因为我们是在HiBench/bin目录下运行./run_all.sh指令的,要想查看测试生成的报告,要到report文件夹下,report文件夹在HiBench文件夹下,和bin是同级的

$ cd
$ cd HiBench/report

然后打开hibench.report文件夹即可

$ cat hibench.report

显示的效果类似于下图

Duration:运行时间

Throughput :实际吞吐量(单位时间内的字节数)

Throughput/node:每个节点的吞吐量

然后输入以下命令能查看日志文件

$ cd wordcount/hadoop/
$ cat bench.log 

 这样子就完成啦!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/895925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号