2016-01-11 29 views
0

我有Hadoop 2.6.3版本和pig-0.6.0 我拥有所有在单节点集群中运行的守护进程。 发出猪命令后。猪只能连接到文件:///不HDFS 你能告诉我如何使它连接HDFS 下面是INFO日志可我看到apache pig没有连接到hdfs

2016-01-10 20:58:30,431 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:/// 
2016-01-10 20:58:30,650 [main] INFO org.apache.hadoop.metrics.jvm.JvmMetrics - Initializing JVM Metrics with processName=JobTracker, sessionId= 

,当我在打呼噜声的命令

grunt> ls hdfs://localhost:54310/ 
2016-01-10 21:05:41,059 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2999: Unexpected internal error. Wrong FS: hdfs://localhost:54310/, expected: file:/// 
Details at logfile: /home/hguna/pig_1452488310172.log 

我不知道有它为什么期待文件:///

ERROR 2999: Unexpected internal error. Wrong FS: hdfs://localhost:54310/, expected: file:/// 

java.lang.IllegalArgumentException: Wrong FS: hdfs://localhost:54310/, expected: file:/// 
     at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:305) 
     at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:47) 
     at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:357) 
     at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245) 
     at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:643) 
     at org.apache.pig.backend.hadoop.datastorage.HDataStorage.isContainer(HDataStorage.java:203) 
     at org.apache.pig.backend.hadoop.datastorage.HDataStorage.asElement(HDataStorage.java:131) 
     at org.apache.pig.tools.grunt.GruntParser.processLS(GruntParser.java:576) 
     at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:304) 
     at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:168) 
     at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:144) 
     at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:75) 
     at org.apache.pig.Main.main(Main.java:352) 

我有没有正确配置Hadoop的?或者有些地方我错了,请让我知道是否有任何我需要分享的文件。我做了足够的研究无法修复它.Btw我是一个新手Hadoop和猪 请帮助我。 感谢

+0

注意:在我的〜/ .bashrc文件中发现我没有包含PIG_CLASSPATH =/usr/lib/hadoop/conf。这可能是一个问题的人。 – Matt

+0

你的默认文件系统是什么? –

回答

1

赤在Hadoop的site.xml中,核心的site.xml和mapred-site.xml中

使用PIG_CLASSPATH配置指定另外的类路径条目。例如,希望加入Hadoop配置文件(Hadoop的site.xml中,核心的site.xml)类路径

export PIG_CLASSPATH=<path_to_hadoop_conf_dir> 

你应该通过设置PIG_USER_CLASSPATH_FIRST

export PIG_USER_CLASSPATH_FIRST=true 

之后,你可以覆盖默认的类路径条目能启动grunt shell