如何计算出我的hdfs dfs
命令连接到的URI?
是否有存储URI的配置文件或任何可用于显示它的命令?
我研究了FileSystemShell和dfsadmin文档的文档,但没有成功。(而且,我无法访问大多数dfsadmin命令。)
当我用hdfs:///user/myUserName/...
调用命令时,它会抛出异常:
Exception in thread "main" java.io.IOException: Incomplete HDFS URI, no host: hdfs:///user/myUserName/test.avro
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:136)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2625)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2607)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
at org.apache.avro.mapred.FsInput.<init>(FsInput.java:38)
at org.apache.avro.tool.Util.openSeekableFromFS(Util.java:110)
at org.apache.avro.tool.DataFileGetSchemaTool.run(DataFileGetSchemaTool.java:47)
at org.apache.avro.tool.Main.run(Main.java:87)
at org.apache.avro.tool.Main.main(Main.java:76)
像hdfs dfs -ls
这样的简单命令运行良好。
使用Hadoop3.1.0。
发布于 2020-05-26 14:14:43
如果您能够访问文件core-site.xml
,那么您可以查找分配给属性fs.defaultFS
的值
$ grep -A 2 defaultFS /etc/hadoop/conf/core-site.xml
<name>fs.defaultFS</name>
<value>hdfs://bigdataserver-2.internal.cloudapp.net:8020</value>
</property>
注意:我使用Cloudera,core-site.xml
是我获得细节的地方。对于Hadoop,您可能拥有core-default.xml
看看这个:https://hadoop.apache.org/docs/r2.8.5/hadoop-project-dist/hadoop-common/core-default.xml
https://stackoverflow.com/questions/62023473
复制相似问题