[测试]1.TPC-DS性能测试

通过EMR运行基于OSS-HDFS服务的TPC-DS Benchmark了解数据查询和分析的性能表现_对象存储(OSS)-阿里云帮助中心 (aliyun.com)

鲲鹏大数据测试指导:

安装Git-部署环境配置-ElasticSearch组件测试工具Esrally 使用指导-测试指导-测试指导-鲲鹏BoostKit大数据使能套件开发文档-鲲鹏社区 (hikunpeng.com)

1. 测试环境

1.1 硬件环境

虚拟机4台,采用1Master + 3 worker 的配置。

CPU:8核
内存:32GB
磁盘:1TB

1.2 软件环境 

组件

自建集群开源版本

下载地址

Zookeeper

apache-zookeeper-3.6.3-bin.tar.gz 

Index of /dist/zookeeper/zookeeper-3.6.3 (apache.org)

Hadoop

hadoop-3.3.1.tar.gz

Index of /dist/hadoop/common/hadoop-3.3.1 (apache.org)

Hive

apache-hive-3.1.3-bin.tar.gz

Index of /dist/hive/hive-3.1.3 (apache.org)

Spark

spark-3.3.1-bin-hadoop3.tgz

Index of /dist/spark/spark-3.3.1 (apache.org)

obsa-hdfs

hadoop-huaweicloud-3.1.1-hw-54.0.jar

obsa-hdfs/release at master · huaweicloud/obsa-hdfs · GitHub

oss-hdfs

jindosdk-6.6.0-linux-el7-aarch64.tar.gz

alibabacloud-jindodata/docs/user/zh/jindosdk/jindosdk_download.md at latest · aliyun/alibabacloud-jindodata · GitHub

hadoop-cos

hadoop-cos v8.3.5

Releases · tencentyun/hadoop-cos (github.com)

tpc-ds

hive-testbench-hdp3

GitHub - hortonworks/hive-testbench

2. 集群环境搭建

2.1 Hadoop集群搭建

服务配置

 

ecs-bigdata-poc-0001

ecs-bigdata-poc-0002

ecs-bigdata-poc-0003

ecs-bigdata-poc-0004

HDFS

 

NameNode

SecondaryNameNode

DataNode

DataNode

DataNode

YARN

ResourceManager

 NodeManager

NodeManager

 NodeManager

2.1.1 主机配置

1. 编辑hosts文件,配置域名映射:vim /etc/hosts

192.168.10.111 hadoop111
192.168.10.112 hadoop112
192.168.10.113 hadoop113
192.168.10.114 hadoop114

2.节点之间 ssh 互信,配置免密登录。

在各台节点上分别执行以下命令:

ssh-keygen -t rsa  (回车,然后敲三个回车,表示没有密码)

ssh-copy-id hadoop111

ssh-copy-id hadoop112

ssh-copy-id hadoop113

ssh-copy-id hadoop114

3. 安装Java

# tar zxvf jdk-8u391-linux-x64.tar.gz -C /opt/module/

# mv jdk1.8.0_391/ jdk

4.配置环境变量

# vim /etc/profile.d/my_env.sh

添加以下内容

# JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_371
export PATH=$PATH:$JAVA_HOME/bin
 

5. 验证java是否安装成功

# source /etc/profile

# java -version

java version "1.8.0_391"

Java(TM) SE Runtime Environment (build 1.8.0_391-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)

2.1.2 core-site.xml

<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop111:8020</value>
</property>

<!-- 指定hadoop数据的临时存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/srv/Bigdata/hadoop/data1/tmp/,

/srv/Bigdata/hadoop/data2/tmp/,

/srv/Bigdata/hadoop/data3/tmp/</value>
</property>

<!-- 配置HDFS网页登录使用的静态用户为root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>

<!-- 配置该root(superUser)允许通过代理访问的主机节点 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>

<!-- 配置该root(superUser)允许通过代理用户所属组 -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

<!-- 配置该root(superUser)允许通过代理的用户访问-->
<property>
<name>hadoop.proxyuser.root.users</name>
<value>*</value>
</property>

<property>
<name>fs.obs.impl</name>
<value>org.apache.hadoop.fs.obs.OBSFileSystem</value>
</property>

<property>
<name>fs.AbstractFileSystem.obs.impl</name>
<value>org.apache.hadoop.fs.obs.OBS</value>
</property>

<property>
<name>fs.obs.access.key</name>
<value>xxx</value>
</property>

<property>
<name>fs.obs.secret.key</name>
<value>xxx</value>
</property>

<property>
<name>fs.obs.endpoint</name>
<value>obs.cn-north-4.myhuaweicloud.com</value>
</property>

<property>
<name>fs.obs.buffer.dir</name>
<value>/srv/Bigdata/hadoop/data1/obs,
    /srv/Bigdata/hadoop/data2/obs,
    /srv/Bigdata/hadoop/data3/obs
</value>
</property>

<property>
<name>fs.obs.bufferdir.verify.enable</name>
<value>FALSE</value>
</property>

<property>
<name>fs.obs.readahead.policy</name>
<value>advance</value>
</property>

<property>
<name>fs.obs.readahead.range</name>
<value>4194304</value>
</property>

<!--
<property>
  <name>fs.trash.interval</name>
  <value>1440</value>
</property>

<property>
 <name>fs.trash.checkpoint.interval</name>
 <value>1440</value>
</property>
-->

<!-- OSS -->
<property>
    <name>fs.AbstractFileSystem.oss.impl</name>
    <value>com.aliyun.jindodata.oss.JindoOSS</value>
</property>

<property>
    <name>fs.oss.impl</name>
    <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
</property>

<property>
    <name>fs.oss.accessKeyId</name>
    <value>xxx/value>
</property>

<property>
    <name>fs.oss.accessKeySecret</name>
    <value>xx</value>
</property>

<property>
    <name>fs.oss.endpoint</name>
    <value>oss-cn-hangzhou.aliyuncs.com</value>
</property>

</configuration>

2.1.3 hdfs-site.xml

<configuration>

<!-- nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop111:9870</value>
</property>   
 
<!-- 2nn web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop112:9868</value>
</property>
    
<!-- 测试环境指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>

<!-- NameNode 数据存储目录,默认:file://${hadoop.tmp.dir}/dfs/name -->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///srv/Bigdata/hadoop/data1/nn,

file:///srv/Bigdata/hadoop/data2/nn,

file:///srv/Bigdata/hadoop/data3/nn</value>
</property>

<!-- DataNode 数据存储目录,默认:file://${hadoop.tmp.dir}/dfs/data -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///srv/Bigdata/hadoop/data1/dn,

file:///srv/Bigdata/hadoop/data2/dn,

file:///srv/Bigdata/hadoop/data3/dn</value>
</property>

</configuration>
 

2.1.4 yarn-site.xml

`yarn.scheduler.minimum-allocation-mb` 和 `mapreduce.map.memory.mb` 是在不同层级进行资源调度的参数。

- `yarn.scheduler.minimum-allocation-mb` 是指YARN集群中每个Container所能分配的最小内存量。这个参数是由YARN调度器进行管理,用来确保每个Container至少分配到指定的内存量。
- `mapreduce.map.memory.mb` 是指MapReduce作业中每个Map任务所占用的内存量。这个参数是由MapReduce框架进行管理,用来指定每个Map任务所需的内存大小。

一个容器可以执行多个Map任务,具体取决于Container的资源配置以及作业的需求。在设置MapReduce作业时,通常会根据作业的需求设置`mapreduce.map.memory.mb`参数,而`yarn.scheduler.minimum-allocation-mb`则由YARN集群的整体资源配置来确定。

因此,一个Container可以执行多个Map任务,前提是分配给该Container的资源足够支持这些Map任务的运行。

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.local-dirs</name>
<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值