3

我该如何解决这个问题?

/tmp/hadoop-yarn/staging/ubuntu/.staging/job_1450038005671_0025/job.jar: Under replicated BP-938294433-10.0.1.190-1450037861153:blk_1073744219_3398. Target Replicas is 10 but found 3 replica(s).

hadoop fsck /当我在我的主节点中运行时,我得到了这个。我假设我应该更改.xmlconf 中的文件或类似的文件,我只是不知道要更改哪个文件。

请注意,dfs.replicationinhdfs-site.xml已经设置为 3。我dfs.replication.maxhdfs-site.xml文件中没有。

4

3 回答 3

7

作为作业的一部分提交的文件(jar 等)的复制计数由 mapred-site.xml 中的参数mapreduce.client.submit.file.replication(或mapred.submit.replication在 2.4 之前的集群中)控制。对于小于 10 个节点的集群,您可以将其调低,或者忽略来自 fsck 的消息。

FWIW,为此有一个JIRA,但我怀疑它是否会起作用。

于 2015-12-14T00:56:01.370 回答
2

你可以忽略。/tmp/hadoop-yarn/staging/ubuntu/.staging/job_1450038005671_0025/job.jar,是作业资源。dfs.replication 对作业资源没有影响。

  1. jar 文件、使用 -files (分布式缓存)传递的文件等作业资源将使用 10 作为复制因子复制到 HDFS
  2. 当作业运行时,这些作业资源(代码)会被复制到容器/任务中来处理数据
  3. 根据阈值完成作业后,这些资源将自动回收。

此功能有助于在处理数据时实现数据局部性(代码到数据的位置)。

于 2015-12-13T23:53:59.430 回答
1

HDFS 配置文件hdfs-site.xml应该包含dfs.replication描述块复制因子的属性:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
</configuration>

默认hdfs-site.xml位置是/etc/hadoop/hdfs-site.xml

于 2015-12-13T22:38:54.393 回答