Я пытаюсь указать базовый каталог файлов HDFS в моем hdfs-site.xml
под Windows 7 (Hadoop 2.7.1, который я построил из исходного кода, используя Java SDK 1.8.0_45 и Windows SDK 7.1). Я не могу понять, как указать путь, определяющий диск.Настройка hadoop.tmp.dir на Windows дает ошибку: URI имеет компонент полномочий
Мой hdfs-site.xml
выглядит следующим образом:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hadoop.tmp.dir</name> <value>XXX</value> </property> </configuration>
и я пробовал различные значения для XXX
, которые я тестировал с hdfs namenode -format
, все это ведет к одному из этих 2-х ошибок:
XXX=D:/tmp/hdp
:15/07/10 23:38:33 ERROR namenode.NameNode: Failed to start namenode. java.lang.IllegalArgumentException: URI has an authority component at java.io.File.<init>(File.java:423) at org.apache.hadoop.hdfs.server.namenode.NNStorage.getStorageDirectory(NNStorage.java:329)
XXX=D:\tmp\hdp
:ERROR common.Util: Syntax error in URI file://D:\tmp\hdp/dfs/name
Другие варианты, которые дали аналогичные ошибки: file:///D:/tmp/hdp
(от http://hortonworks.com/community/forums/topic/hadoop-configuration-files-issues/), file://D:/tmp/hdp
, D:\\tmp\\hdp
И если я использую /D/tmp/hdp
он не откажет, но идет в D
папку на моем текущем диске.
У меня нет идей, предложений? (NB: помимо использования Cygwin, который не является для меня вариантом)
Большое спасибо, работает как шарм! – tiho