【问题标题】:apache pig not connecting to hdfsapache pig没有连接到hdfs
【发布时间】:2016-01-11 05:09:26
【问题描述】:

我有 Hadoop 版本 2.6.3 和 pig-0.6.0 我在单节点集群中启动并运行了所有守护进程。 发射猪命令后。猪只连接到 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 和猪的新手 请帮我 。 谢谢

【问题讨论】:

  • 注意:在我的 ~/.bashrc 文件中注意到我没有包含 PIG_CLASSPATH = /usr/lib/hadoop/conf 。伙计们,这可能是一个问题。
  • 你的默认文件系统是什么?

标签: hadoop mapreduce apache-pig hadoop2


【解决方案1】:

检查 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

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 2023-03-23
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    相关资源
    最近更新 更多