hdfs—1tb数据的hadoop数据复制块大小速率

rggaifut  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(438)

我有7个存储大小如下的数据节点:
数据节点1:250gb
数据节点2:250gb
数据节点3:250gb
数据节点4:45gb
数据节点5:250gb
数据节点6:250gb
数据节点7:250gb
在数据节点4上,我在/data上装载了1tb的数据。所以我开始 put 操作( hadoop fs -put /data /user/hadoop-user/ )在数据节点4上。当存储空间耗尽时,它会继续对其他存储空间较大的数据节点进行操作,但速度非常慢。
现在我的问题是:
有没有办法提高系统的块大小速率 put 手术?从这里开始,它表示“datanode开始接收小部分(4kb)的数据”。这对于1tb的数据来说似乎太小了。有没有办法增加这个?
如果我停止put操作以增加块大小速率(如果有的话),它会从停止的地方恢复吗?

jk9hmnmh

jk9hmnmh1#

答案:
是-了解 dfs.stream-buffer-size , dfs.bytes-per-checksum 以及 dfs.client-write-packet-size -也就是说,数据包本身更大,我会小心那些设置-最有可能的问题是在其他地方
本机的答案是-不-它不会继续(但看看问题),它不会恢复正在进行的文件,但它可能不会覆盖已完全上载的文件
问题:
您的网络设置是什么?
你的复制因子是什么?
你的最小复制因子是多少?
它是哪个版本的hadoop?
速度慢是什么意思?
您要将数据写入单个文件还是多个文件?
你能在多个节点上挂载数据吗?
另外:
您可以考虑distcp并强制执行单Map作业(任务在有数据的节点上运行),这会提供更新和重试等(我自己没有尝试过这种情况)

相关问题