emr—在具有不同大小的多个驱动器的计算机上使用hadoop时,较小的磁盘将满

nbysray5  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(578)

所以我在m3.xlarge机器上使用emr-5.4.0,上面添加了250gbebs。
使用此配置m3.xlarge和250 gb ebs,驱动器的安装方式如下:
/mnt/:40 gb ssd驱动器
/mnt1/:40 gb ssd驱动器
/mnt2/:250 gb ebs
我检查了以下hadoop配置,它们如下所示。
yarn.nodemanager.local-dirs:/mnt/Yarn,/mnt1/Yarn,/mnt2/Yarn
mapreduce.cluster.local.dir:/mnt/mapred,/mnt1/mapred,/mnt2/mapred
hadoop.tmp.dir:/mnt/var/lib/hadoop/tmp
但是当我运行工作负载时,/mnt/和/mnt1/驱动器(m3机器附带的ssd驱动器)开始变满,节点变得不正常。
yarn为不正常节点提供了以下消息。
2/3局部dir坏:/mnt/纱,/mnt1/纱;1/1日志目录错误:/var/log/hadoop/containers
1/3局部dirs坏:/mnt/纱;1/1日志目录错误:/var/log/hadoop/containers
问题是hadoop没有将连接的250gb驱动器用于中间输出或非dfs用途。
当我使用带有250gbebs的m4.2x大型计算机时,我没有遇到这个问题。m4.*机器不像m3那样有专用空间。*机器有专用空间(即2x40 gb SSD)。
所以我的问题是hadoop是否能够在提供多个驱动器时正确地使用可用的磁盘空间?

qqrboqgw

qqrboqgw1#

如原木所示,Yarn容器原木可能已装满。emr目前并没有将所有磁盘用于Yarn原木。它只使用/mnt/磁盘。如果您查看配置文件,就会发现这一点。

/etc/hadoop/conf.empty/yarn-site.xml

  <property>
    <description>Where to store container logs.</description>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/var/log/hadoop-yarn/containers</value>
  </property>

在这里, /var/log 符号链接到 /mnt/var/log .
如果它是该日志目录,那么您可能需要在yarn-site.xml上设置该属性,就像yarn.nodemanager.local-dirs(使用逗号分隔的不同装载目录)一样,以便日志分布在所有磁盘上,而不仅仅是在示例附带的示例存储中。
如果它不是日志文件,那么您可能需要验证使用最多磁盘的顶级目录,并更改.xml文件的相应属性,并在需要时重新启动相应的守护程序。

相关问题