仅将新硬盘驱动器或磁盘分区添加到HDFS

时间:2016-07-05 21:09:36

标签: linux hadoop hdfs

我有一个由master节点(仅运行namenode)和两个从属组成的集群,即slave1slave2(运行datanode)。现在,我想仅将新硬盘添加到slave1,并使用它来增加datanode容量。我在互联网上遵循了不同的教程和方法,我理解了如何一般。我的问题是将分区/硬盘驱动器仅添加到slave1会引发问题,因为hdfs-site.xml无法找到slave2中添加的新分区/硬盘驱动器的路径

这就是我在slave1上做的事情(新磁盘在sdb上):

  1. 我运行fdisk /dev/sdb来创建分区。该过程没有问题,创建/dev/sdb1
  2. 我使用sdb1格式mkfs.ext4 /dev/sdb1
  3. 我使用sdb1
  4. /disk1上挂载mount /dev/sdb1 /disk1
  5. 我在my/user/hdfs/datanode
  6. 中创建了datanode目录{​​{1}}
  7. 我以递归方式更改/disk1的所有者以授予我的用户
  8. 权限
  9. 我使用/disk1/my/user/
  10. 停止datanode
  11. 我将hadoop-daemon.sh stop datanode添加到/disk1/my/user/hdfs/datanode字段下的hdfs-site.xml,使用逗号分隔已存在的其他路径。我在每台机器上都这样做。
  12. 现在,如果我停止并从主服务器再次启动HDFS,那么dfs.datanode.data.dir上的数据节点将无法启动,因为它无法找到路径slave2。我的猜测是:是否可以仅将新分区/硬盘添加到群集中的一个数据节点?我该怎么办?强制在每台机器上创建相同的文件夹?

1 个答案:

答案 0 :(得分:1)

如果两个从站在两个单独的硬件上运行,则可以为每个从站创建单独的hdfs-site.xml。在slave1上,datanode.data.dir会列出额外的磁盘,而slave2则不会有。{/ p>