java hadoop2.6.0 读取文件报错_Hadoop 2.6.0浏览文件系统Java

我在CentOS

6.6上安装了一个基本的hadoop集群,并想编写一些基本程序(浏览文件系统,删除/添加文件等),但是我仍在努力使最基本的应用程序正常工作。

当运行一些基本代码以将目录的内容列出到控制台时,出现以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.ipc.RPC.getProxy(Ljava/lang/Class;JLjava/net/InetSocketAddress;Lorg/apache/hadoop/security/UserGroupInformation;Lorg/apache/hadoop/conf/Configuration;Ljavax/net/SocketFactory;ILorg/apache/hadoop/io/retry/RetryPolicy;Z)Lorg/apache/hadoop/ipc/VersionedProtocol;

at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:135)

at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:280)

at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:245)

at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:100)

at mapreducetest.MapreduceTest.App.main(App.java:36)

我的pom.xml依赖项

org.apache.hadoop

hadoop-common

2.6.0

org.apache.hadoop

hadoop-core

1.2.1

代码:

import java.io.IOException;

import java.net.URI;

import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileStatus;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.hdfs.DistributedFileSystem;

public class App

{

public static void main( String[] args ) throws IOException, URISyntaxException

{

Configuration conf = new Configuration();

FileSystem fs = new DistributedFileSystem();

fs.initialize(new URI("hdfs://localhost:9000/"), conf);

for (FileStatus f :fs.listStatus(new Path("/")))

{

System.out.println(f.getPath().getName());

}

fs.close();

}

}

调用fs.initialize()后将引发错误。我真的不确定这是什么问题。我是否缺少依赖关系?他们是错误的版本吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值