我有 Hadoop 版本 2.6.3 和 pig-0.6.0 我在单节点集群中启动并运行了所有守护进程。 发射 pig 命令后。 pig 只连接到 file:///而不是 hdfs 你能告诉我如何连接hdfs吗 下面是我能看到的 INFO 日志
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 中输入命令时
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
我不知道为什么它需要 file:///
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?或者有些地方我错了请让我知道是否有任何我需要共享的文件。我做了足够的研究无法修复它。顺便说一句,我是 Hadoop 和 pig 的新手 请帮我 。 谢谢
最佳答案
检查 hadoop-site.xml、core-site.xml 和 mapred-site.xml 中的配置
使用 PIG_CLASSPATH 指定附加的类路径条目。例如,将 hadoop 配置文件(hadoop-site.xml、core-site.xml)添加到类路径
export PIG_CLASSPATH=<path_to_hadoop_conf_dir>
您应该通过设置 PIG_USER_CLASSPATH_FIRST 覆盖默认类路径条目
export PIG_USER_CLASSPATH_FIRST=true
之后就可以启动grunt shell了
关于hadoop - apache pig 没有连接到 hdfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714534/