gpt4 book ai didi

scala - Tachyon on Dataproc Master 复制错误

转载 作者:可可西里 更新时间:2023-11-01 15:05:09 25 4
gpt4 key购买 nike

我有一个在安装了 Tachyon、Spark 和 Hadoop 的 Dataproc 主节点上运行的简单示例。

我在从 Spark 写入 Tachyon 时遇到复制错误。有没有办法指定它不需要复制?

15/10/17 08:45:21 WARN org.apache.hadoop.hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/tachyon/workers/1445071000001/3/8 could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1550)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3110)

我打印的日志部分只是一个警告,但紧随其后的是 Spark 错误。

我检查了 Tachyon config docs ,并发现可能导致此问题的原因:

tachyon.underfs.hdfs.impl   "org.apache.hadoop.hdfs.DistributedFileSystem"

鉴于这一切都在 Dataproc 主节点上,预装了 Hadoop 并且 HDFS 与 Spark 一起工作,我认为这是一个可以从 Tachyon 内部解决的问题。

最佳答案

您可以通过手动将 /etc/hadoop/conf/hdfs-site.xml 中的 dfs.replication 设置为 Dataproc 默认值 2。仅在您的主机上设置它至少应该涵盖驱动程序调用、hadoop fs 调用,并且它似乎也正确传播到 hadoop distcp 调用中,所以您很可能不会只要工作人员从作业范围的配置中获取文件系统配置,还需要担心在每个工作人员上设置它。

请注意,1 的复制已经意味着整个数据的单个副本,而不是“除了主副本之外的一个副本”。因此,复制不能真正低于 1。最小复制由同一 hdfs-site.xml 中的 dfs.namenode.replication.min 控制;你可以看到它引用了 here in BlockManager.java .

关于scala - Tachyon on Dataproc Master 复制错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com