Hadoop API 在尝试初始化集群以使用 DistCp 时抛出错误

我正在尝试使用 Hadoop API 使用 DistCp 类执行分布式复制,但在尝试连接到集群时会引发错误。我曾尝试更改 hadoop 和 hdfs 的配置文件,但似乎不起作用。我正在最新的 Cloudera Quickstart 上测试该应用程序


我运行这个命令来执行这个类。java -cp myjar com.keedio.hadoop.Mover


包 com.keedio.hadoop;


import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.*;

import org.apache.hadoop.tools.DistCp;


import org.apache.hadoop.tools.DistCpOptionSwitch;

import org.apache.hadoop.tools.DistCpOptions;

import org.apache.hadoop.util.ToolRunner;


import java.util.Collections;



public class Mover {


public static void main(String args []) {


 try {

  FileSystem fs = FileSystem.getLocal(new Configuration());

  FileSystem fs2= FileSystem.get(java.net.URI.create("file:///"),new 

  Configuration());

  DistCpOptions distCpOptions=new DistCpOptions(new Path("file:/Users/jvasquez/Desktop/ficheros1"),new Path("file:/Users/jvasquez/Desktop/ficheros2"));

String argumentos [] = {"file:////Users/jvasquez/Desktop/ficheros1","file:///Users/jvasquez/Desktop/ficheros2"};



Configuration conf=new Configuration();

这是错误


log4j:WARN No appenders could be found for logger 

(org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.

at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:143)

at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:108)

at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:101)

at org.apache.hadoop.tools.DistCp.createMetaFolderPath(DistCp.java:471)

at org.apache.hadoop.tools.DistCp.<init>(DistCp.java:107)


GCT1015
浏览 309回答 1
1回答

开满天机

最后我解决了它,结果是我只需要使用命令 hadoop jar 将应用程序作为 mapreduce 应用程序启动。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java