hadoop2.6 java开发,Hadoop 2.6.0浏览文件系统Java

I have installed a basic hadoop cluster on CentOS 6.6 and want to write a few basic programs (browse the filesystem, delete/add files, etc) but I'm struggling to get even the most basic app working.

When running some basic code to list the contents of a directory to the console I get the following error:

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)

My pom.xml dependencies

org.apache.hadoop

hadoop-common

2.6.0

org.apache.hadoop

hadoop-core

1.2.1

The code:

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();

}

}

The error is being thrown after calling fs.initialize(). I'm really not sure what the issue is here. Am I missing dependencies? Are they the wrong version?

解决方案

I was running this by calling "java -jar app.jar .... etc"

I should have been using "hadoop jar app.jar".

Worked as intended when I ran it correctly.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值