hadoop - apache pig 没有连接到 hdfs

标签 hadoop mapreduce apache-pig hadoop2

我有 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/

相关文章:

eclipse - 无法从 windows eclipse 创建 Hbase 表

hadoop - Log4j 不写入 HDFS/Log4j.properties

Hadoop PIG Helper GROUP 错误

shell - 如何获取 Pig 脚本的准确返回值并将其用于进一步处理?

hadoop - HDFS block 有多大?

java - 不是主机 :port while connecting hbase using java

java - Hadoop,mapreduce java.io.IOException : Type mismatch in value from map: expected org. apache.hadoop.io.Text,收到 org.apache.hadoop.io.IntWritable

java - Pig Udf 在显示结果

hadoop - 批处理模式中的 livy 抛出错误 Error : Only local python files are supported: Parsed arguments

hadoop - 实现自定义 Hadoop 键类型和值类型