【问题标题】:Adding a new hard drive or disk partition to only one datanode in HDFS在 HDFS 中仅向一个数据节点添加新的硬盘驱动器或磁盘分区
【发布时间】:2023-03-17 14:44:01
【问题描述】:

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

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

  1. 我运行fdisk /dev/sdb 来创建分区。该过程顺利结束,创建/dev/sdb1
  2. 我将sdb1 格式化为mkfs.ext4 /dev/sdb1
  3. 我将sdb1 安装在/disk1mount /dev/sdb1 /disk1
  4. 我在/disk1里面创建了datanode目录my/user/hdfs/datanode
  5. 我递归更改 /disk1/my/user/ 的所有者以向我的用户授予权限
  6. 我用hadoop-daemon.sh stop datanode 停止数据节点
  7. 我将/disk1/my/user/hdfs/datanode 添加到hdfs-site.xml,在dfs.datanode.data.dir 字段下,使用逗号与已经存在的其他路径分隔。我在每台机器上都这样做。

现在,如果我停止并从主服务器重新启动 HDFS,则会发生slave2 上的数据节点将无法启动,因为它找不到路径 /disk1/my/user/hdfs/datanode。我的猜测是:是否可以只向集群中的一个数据节点添加一个新的分区/硬盘驱动器?我该怎么办?强制在每台机器上创建相同的文件夹?

【问题讨论】:

  • slave 是否运行在两个独立的硬件上?

标签: linux hadoop hdfs


【解决方案1】:

如果您有两个从站在两个独立的硬件上运行,那么您可以为每个从站创建单独的hdfs-site.xml。在slave1 上,它会在datanode.data.dir 中列出额外的磁盘,而slave2 将没有它。

【讨论】:

    猜你喜欢
    • 2017-01-27
    • 1970-01-01
    • 2017-01-27
    • 2011-08-06
    • 2012-12-11
    • 1970-01-01
    • 2014-06-03
    • 2012-08-07
    • 2011-01-21
    相关资源
    最近更新 更多