Я использую настройку defaultFS
в конфигурации HDFS. Я создаю конфигурацию и затем устанавливаю ее явно.
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.FileSystem
val config = new Configuration()
config.set("fs.defaultFS", "hdfs://localhost:8020")
val fs = FileSystem.get(new URI(filePath), config)
В большинстве случаев код работает нормально, но для filePath с тройной косой чертой я получаю сообщение об ошибке только на нескольких машинах :
Wrong FS: hdfs:/tmp/hdfstest, expected: hdfs://localhost:8020
Одна косая черта появляется только в сообщении об исключении.
Повсюду в системе я вижу тройную косую черту: hdfs:///tmp/hdfstest
.
Также для путей типа /tmp/hdfstest
без тройной косой черты отлично работает defaultFS.
Буду признателен за любой совет. Заранее спасибо!
UPD: Исключение было замечено в тестах, запущенных на MiniDFSCluster. Во время тестов я использовал один и тот же MiniDFSCluster с разными конфигурациями.