2022-08-26 Hadoop项目经验

一、Hadoop基准测试

1. 读写性能测试

(1) 写数据性能测试

选项描述
-nrFiles要写的文件数量,单独开启一个Map任务写文件
-fileSize每个要写的文件的大小
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB

(2) 读数据性能测试

选项描述
-nrFiles要读的文件数量,单独开启一个Map任务读取文件
-fileSize每个要读取的文件的大小
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -read -nrFiles 10 -fileSize 128MB

(3) 删除读写测试产生的文件

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -clean

2. 计算性能测试

(1) 使用RandomWriter来产生随机数,每个节点运行10Map任务,每个Map产生大约1G大小的二进制随机数

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar randomwriter random-data

(2) 执行Sort程序

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar sort random-data sorted-data

(3) 验证数据是否已经排好序

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar testmapredsort -sortInput random-data -sortOutput sorted-data

(4) 删除测试后产生的多余数据

rm -rf random-data sorted-data

二、常用调优

其它调优参数

HDFS参数调优(hdfs-site.xml)

	<!--
		NameNode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作。
		对于大集群或者有大量客户端的集群来说,通常需要增大参数。
		该参数配置默认值为:10
	-->
	<property>
		<name>dfs.namenode.handler.count</name>
		<value>10</value>
	</property>

该参数值的计算公式为dfs.namenode.handler.count=

 Cluster Size:集群规模,即机器数量

# Linux自带Python,利用Python计算NN的线程数量
# 进入Python环境
python

import math
clusterSize=8
print int(20*math.log(clusterSize))

Yarn参数调优(yarn-site.xml)

配置项默认值描述
yarn.nodemanager.resource.memory-mb8192节点上nodemanager能够管理使用的物理内存
yarn.scheduler.maximum-allocation-mb8192单个任务能够使用的最大物理内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值