Nav apraksta

chenxixian dbc552a38c Upload files to 'numbers' 6 gadi atpakaļ
img 5d37e5d480 Upload files to 'img' 6 gadi atpakaļ
numbers dbc552a38c Upload files to 'numbers' 6 gadi atpakaļ
pdf 53251087b0 first commit 6 gadi atpakaļ
setupcdh 1b1355edaf 更新 'setupcdh/datanode.sh' 6 gadi atpakaļ
sql 52e1bb1309 上传文件至 'sql' 6 gadi atpakaļ
README.md e4aa8550d6 Update 'README.md' 6 gadi atpakaļ

README.md

华为x86服务器、戴尔x86服务器大数据平台性能测试

CDH 概览

CDH是Apache Hadoop和相关项目的最完整、最受测试和最流行的发行版。CDH提供Hadoop的核心元素-可伸缩存储和分布式计算-以及基于web的用户界面和重要的企业功能。CDH是Apache许可的开放源码,是唯一提供统一批处理、交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。

CDH 提供以下特性:

  • 灵活性:存储任何类型的数据并使用各种不同的计算框架进行操作,包括批处理、交互式SQL、免费文本搜索、机器学习和统计计算。
  • 集成:在一个完整的Hadoop平台上快速启动和运行,该平台与广泛的硬件和软件解决方案一起工作。
  • 安全:处理和控制敏感数据。
  • 可伸缩性:启用广泛的应用程序和规模,并扩展它们以满足您的需求。
  • 高可用性:满怀信心地执行任务关键的业务任务。
  • 兼容性:利用您现有的IT基础设施和投资。

大数据测试方法(TPS-DS)

TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张维度表平均每张表含有18列。其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

TPC-DS的这个特点跟大数据的分析挖掘应用非常类似。Hadoop等大数据分析技术也是对海量数据进行大规模的数据分析和深度挖掘,也包含交互式联机查询和统计报表类应用,同时大数据的数据质量也较低,数据分布是真实而不均匀的。因此TPC-DS成为客观衡量多个不同Hadoop版本以及SQL on Hadoop技术的最佳测试集。

TPC-DS 基准测试组件

Store Sales ER关系图

TPS-DS更多信息

参阅:TPC-DS_v2.10.0.pdf

TPC-DS测试数据表信息

本次测试采用TPC-DS提供的dsdgen命令工具生成指定量级的测试数据,我们指定数据量级为1TB。

对照组和测试组服务器信息

对照组服务器

测试组服务器

CHD6.0.1部署

放置安装文件到所有服务器的/root/rpm/

datanode.sh
my.cnf
mysql.sql
namenode.sh
jdk-8u191-linux-x64.rpm
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel
manifest.json
cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm

jdk-8u191-linux-x64.rpm 可以从官方下载:

https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel和rpm文件, 可以从官方下载:

https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPMS/x86_64/

https://archive.cloudera.com/cdh6/6.0.1/parcels/

配置namenode

参考namenode.sh,按需修改服务器名字和ip:

echo "namenode01" > /etc/hostname
hostname
echo "namenode01	192.168.10.171" > /etc/hosts

配置datanode

参考datanode.sh,按需修改服务器名字和ip:

echo "datanode01" > /etc/hostname
hostname
echo "dataenode01	192.168.10.172" > /etc/hosts

配置cm离线库

本地部署安装源服务器

安装nginx服务

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install -y nginx
systemctl start nginx
systemctl enable nginx

配置nginx

vim /etc/nginx/conf.d/default.conf

增加以下配置

location /cm {
        alias /usr/share/nginx/html/cm;
        allow all;
        autoindex on;
    }

下载allkeys.asc

wget https://archive.cloudera.com/cm6/6.0.1/allkeys.asc

配置repo文件

vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version cm
baseurl = http://192.168.10.171/cm
gpgcheck = 1

创建源

createrepo .

刷新源文件

yum repolist 

将文件存放到指定目录/usr/share/nginx/html/cm 文件列表

/usr/share/nginx/html/cm ls

manifest.json
allkeys.asc 
jdk-8u201-linux-x64.tar.gz
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel   
cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm       
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha     
cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm      
CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha256  
cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm       
oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
cloudera-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm

参考安装: CentOS 7下Cloudera Manager及CDH 6.0.1安装过程详解

hive-testbench部署

安装Maven

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
tar zxf apache-maven-3.1.1-bin.tar.gz
mv apache-maven-3.1.1 /usr/local/maven3
nano /etc/profile
source /etc/profile
mvn -v

/etc/profile

export M2_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

从Github克隆和部署hive-testbench项目

git clone https://github.com/hortonworks/hive-testbench.git
cd hive-testbench/
hadoop fs -chown -R hive:hadoop /tmp
./tpcds-build.sh
./tpcds-setup.sh 1000

执行时会出现报错: make:*** [date_dim] 错误 2

Hue上的hive执行SQL语句生成所有表: alltables.sql

Hue上建立3个作业来执行测试:

三个作业的配置脚本:

单表查询测试lib.zip

TPC-DS查询测试1lib.zip

TPC-DS查询测试2lib.zip

测试结果

单表测试组结果

TPCDS测试组结果

华为x86测试组数据量比对照组大10倍,但无论单表测试和TPCDS测试,执行总时间都小于10倍的总时间。

戴尔x86测试组的节点数量比华为x86测试组少了2台,单表测试性能差不多,TPCDS测试被华为x86测试组拉开很多,可见节点增减对多表组合查询的性能影响很大。

期待ARM架构服务器的Hadoop性能测试。。。

参考文档

CentOS 7下Cloudera Manager及CDH 6.0.1安装过程详解

开源OLAP引擎测评报告(SparkSql、Presto、Impala、HAWQ、ClickHouse、GreenPlum)

【大数据之数据仓库】TPCDS工具使用指南

hive-testbench项目