1

我们以这种方式设置的 Hadoop 集群上的空间不足:

  • 1x 1TB 硬盘 / <- Ubuntu 系统分区
  • 3x 1.5TB 硬盘 /data1 /data2 /data3 <- HDFS 数据卷

系统分区几乎没有使用(97% 空闲),不会用于与 hadoop 无关的任务。

将系统分区作为 HDFS 数据目录添加到 DataNode 配置是否安全?

恐怕 Hadoop 会填满分区,使系统无法使用。

最好的方法可能是设置单独的 lvm 卷或重新分区磁盘。但我会避免走这条路。

hadoop 是否尊重 unix 配额?例如,如果我从系统分区添加一个目录并通过配额限制 hadoop 用户仅使用例如 0.5TB 会有帮助吗?

4

1 回答 1

1

是的,Hadoop 使用通用文件写入 API 来写入块数据,并且会遵守 Unix 级别的配额。此外,还有一个配置属性dfs.datanode.du.reserved,可让您为每个卷设置保留空间(应用于所有卷),DataNode 不会考虑写入该空间。

但是,允许写入操作系统挂载通常是不好的做法。如果您设想最终寻找更多存储空间(假设您已经达到了限制),最好购买更多磁盘并将它们安装在 DataNode 上。

于 2012-11-17T09:52:55.283 回答