3

这是我第一次玩 Hadoop 集群,所以我对此很陌生。

我有一个由 3 个节点组成的小型集群,每台计算机中有 5 个 2 TB 硬盘驱动器。所有人都在运行 Ubuntu,具有相同的硬件规格,并且使用的是 Apache Hadoop 1.0.4。硬盘以 /media/diskb、/media/diskc、/media/diskd 等形式安装在每台计算机上,并配置为 JBOD。

所有 3 台计算机都充当 Data Nodes 和 Task Tracker,其中一台是主 Name Node 和 Secondary Name Node,第二台是 Job Tracker,第三台是纯从 (DT/TT) 节点。

在每台计算机的hdfs-site.xml文件中,我列出了挂载点,以逗号分隔,没有空格作为值。

<property>
 <name>dfs.datanode.data.dir</name>
 <value>/data/dfs/data,/media/diskb/data/dfs/data,/media/diskc/data/dfs/data,..</value>
</property>

对于名称节点:

<property>
 <name>dfs.namenode.name.dir</name>
 <value>/data/dfs/name,/media/diskb/data/dfs/name,/media/diskc/data/dfs/name,..</value>
</property>

在 mapred-site.xml 中:

<property>
 <name>mapred.local.dir</name>
 <value>/data/mapred/local,/media/diskb/data/mapred/local,/media/diskc/data/mapred/local,...</value>
</property>

此外,在core-site.xml

<property>
 <name>hadoop.tmp.dir</name>
 <value>/media/diskb/data</value>
</property>

(我尝试过一次更改要分配给磁盘的临时目录以检查权限等,Hadoop 工作正常)

对于 Hadoop 用户帐户,目录的挂载和所有权权限已满。当我运行 map/reduce 程序时,我可以看到 Hadoop 在每个节点的mapred/local目录下的额外磁盘内创建资源文件夹,但我没有看到数据节点目录和报告的配置容量发生同样的情况管理页面 (namenode:50070) 位于:5.36 TB(每个节点 1.78 TB)。

为什么 Hadoop 不使用每个总容量应为 26.7 TB 的硬盘?

此外,与在每个节点上仅使用 1 个磁盘相比,我没有看到使用所有磁盘运行 Map/Reduce 作业的性能提高。我应该期待什么?

谢谢!

4

1 回答 1

2

好的,非常简单的答案: dfs.namenode.name.dir应该是dfs.name.dirdfs.datanode.data.dir应该是dfs.data.dir

我认为它们(dfs.name.dir,dfs.data.dir)已被弃用,但显然不是。所以 Hadoop 是按照我在 core-site.xml 中设置的默认值运行的,因此只使用了 3 个驱动器。

于 2013-02-06T04:32:13.850 回答