我正在按照一些示例尝试使用以下内容获取DistributedFileSystem,但是我发现以下返回已弃用的错误
FileSystem fs=FileSystem.get(conf);
DistributedFileSystem hdfs = (DistributedFileSystem) fs;
线程中的异常" main" java.lang.ClassCastException: org.apache.hadoop.fs.LocalFileSystem无法强制转换为 org.apache.hadoop.hdfs.DistributedFileSystem at Hadoop.File.infoNode(File.java:55)at Hadoop.Driver.main(Driver.java:8)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498)
如何解决这个问题?
答案 0 :(得分:0)
这不是折旧错误
无法播放LocalFileSystem
您的conf
对象需要使用以fs.defaultFS
而不是hdfs://
开头的file://
进行初始化
查看HADOOP_CONF_DIR
中的core-site.xml文件以设置属性