Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单个datanode正在Hadoop 5节点集群中存储更多数据_Hadoop_Bigdata - Fatal编程技术网

单个datanode正在Hadoop 5节点集群中存储更多数据

单个datanode正在Hadoop 5节点集群中存储更多数据,hadoop,bigdata,Hadoop,Bigdata,我有版本3.1.1的5节点HDP集群,其中有2个名称节点和3个数据节点。我保持默认的复制因子3。但是MAX data仅存储在第一个数据节点中。请参阅下面的磁盘利用率 MASTER 1: /dev/sdd1 63G 71M 60G 1% /opt/disk02 /dev/sdc1 63G 71M 60G 1% /opt/disk01 MASTER 2: /dev/sdd1 63G 121M 60G 1% /opt/di

我有版本3.1.1的5节点HDP集群,其中有2个名称节点和3个数据节点。我保持默认的复制因子3。但是MAX data仅存储在第一个数据节点中。请参阅下面的磁盘利用率

MASTER 1:

/dev/sdd1        63G   71M   60G   1% /opt/disk02
/dev/sdc1        63G   71M   60G   1% /opt/disk01

MASTER 2:
/dev/sdd1        63G  121M   60G   1% /opt/disk02
/dev/sdc1        63G  121M   60G   1% /opt/disk01

SLAVE 1:
/dev/sdd1        63G  4.0G   56G   7% /opt/disk02
/dev/sdc1       126G   14G  107G  12% /opt/disk01

SLAVE 2:
/dev/sdd1        63G  5.0G   55G   9% /opt/disk02
/dev/sdc1       126G  5.5G  114G   5% /opt/disk01

SLAVE 3:
/dev/sdc1       126G  5.0G  115G   5% /opt/disk01
/dev/sdd1        63G  4.0G   56G   7% /opt/disk02  

如何在所有数据节点中平等地复制数据?

您无法准确控制复制将放置在哪些数据节点中,但在您的情况下,它应该位于每个节点上

可能使用机架之类的概念,或者使用Cloudera或Hortonworks

也可以尝试平衡数据,因为问题可能会得到解决


即使您的一般复制因子是3,也可能是路径的1或2,最好检查Hadoop是否自动控制数据和复制需要放置的位置,正如Horatiu所提到的。 但有时数据可能会在某些节点或单个节点上发生倾斜

由于以下原因,HDFS可能不会始终以统一的方式跨磁盘放置数据:

  • 大量的写入和删除
  • 磁盘更换
  • 你需要检查的东西很少

  • 是否有使用手动复制因子放置的文件或其他文件
  • 数据节点1是否正在存储不必要的日志
  • 尝试运行磁盘平衡器
  • 要启用磁盘平衡器,必须在hdfs-site.xml中将dfs.disk.balancer.enabled设置为true

    请参阅