我在配置HDFS时使用defaultFS设置。我创建配置然后显式设置它。
import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.FileSystem
val …
如果你想使用 fs.defaultFS ,你不应该指定任何方案或权限,所以你的路径应该是这样的 /path/to/file 。使用带有方案的URI,例如 hdfs://localhost:port/path/to/file ,将忽略默认FS。如果没有主机/端口,你不应该使用HDFS方案 hdfs:/// - 相反,您应该依赖于默认FS,或者明确指定主机/端口组合。
fs.defaultFS
/path/to/file
hdfs://localhost:port/path/to/file
hdfs:///
原来,这不是HDFS问题,而是MiniDFSCluster测试问题。 在测试套件中,我创建了测试集群,然后检查不同 defaultFS 场景就可以了。
defaultFS
MiniDFSCluster由于共享配置而存在一些问题,某些用例可能导致意外结果并错误地失败或通过单元测试。
有关更多信息,有一个 票 在Apache中。