Java 找不到org.apache.hadoop.mapred.LocalClientProtocolProvider

Java 找不到org.apache.hadoop.mapred.LocalClientProtocolProvider,java,hadoop,apache-pig,Java,Hadoop,Apache Pig,我编写了一个程序来执行Java中嵌入的Pig语句。我执行了java语句注册表查询。但是当我尝试存储结果时,我给出了一个错误:org.apache.hadoop.mapred.localClientProtocolProvider未找到。我不理解这个错误 所附句子如下: 这是java代码 pigServer.registerQuery("source = load '"+ inputFile + "' USING org.apache.pig.backend.hadoop.hbase.HB

我编写了一个程序来执行Java中嵌入的Pig语句。我执行了java语句注册表查询。但是当我尝试存储结果时,我给出了一个错误:org.apache.hadoop.mapred.localClientProtocolProvider未找到。我不理解这个错误

所附句子如下:

这是java代码

 pigServer.registerQuery("source = load '"+ inputFile + "' USING    org.apache.pig.backend.hadoop.hbase.HBaseStorage( " +
"'datos:bikes', '-loadKey true')"+
"as (id1:int, bikes:int) ;");

Path output = new Path("consulta1");

 pigServer.store("source","consulta1");
这是java例外:

14/06/07 04:01:27 INFO pigstats.ScriptState: Pig features used in the script: UNKNOWN
14/06/07 04:01:27 WARN conf.Configuration: mapred.textoutputformat.separator is deprecated. Instead, use mapreduce.output.textoutputformat.separator
14/06/07 04:01:27 INFO mapReduceLayer.MRCompiler: File concatenation threshold: 100 optimistic? false
14/06/07 04:01:27 INFO mapReduceLayer.MultiQueryOptimizer: MR plan size before optimization: 1
14/06/07 04:01:27 INFO mapReduceLayer.MultiQueryOptimizer: MR plan size after optimization: 1
Exception in thread "main" java.util.ServiceConfigurationError: 
    org.apache.hadoop.mapreduce.protocol.ClientProtocolProvider: Provider  
    org.apache.hadoop.mapred.LocalClientProtocolProvider not found
at java.util.ServiceLoader.fail(ServiceLoader.java:214)
at java.util.ServiceLoader.access$400(ServiceLoader.java:164)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:350)
at java.util.ServiceLoader$1.next(ServiceLoader.java:421)
at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:90)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:83)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:76)
at org.apache.hadoop.mapred.JobClient.init(JobClient.java:478)
at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:457)
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:152)
at org.apache.pig.PigServer.launchPlan(PigServer.java:1266)
at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1251)
at org.apache.pig.PigServer.storeEx(PigServer.java:933)
at org.apache.pig.PigServer.store(PigServer.java:900)
at org.apache.pig.PigServer.store(PigServer.java:868)
at bicing.pig.PigEstadisticas.runMyQuery(PigEstadisticas.java:97)
at bicing.pig.PigEstadisticas.main(PigEstadisticas.java:45)
14/06/07 04:01:27信息pigstats.ScriptState:脚本中使用的Pig功能:未知
14/06/07 04:01:27警告配置:mapred.textoutputformat.separator不推荐使用。相反,请使用mapreduce.output.textoutputformat.separator
14/06/07 04:01:27信息mapReduceLayer.MRCompiler:文件连接阈值:100?假的
14/06/07 04:01:27信息mapReduceLayer.MultiQueryOptimizer:优化前的MR计划大小:1
14/06/07 04:01:27信息mapReduceLayer.MultiQueryOptimizer:优化后的MR计划大小:1
线程“main”java.util.ServiceConfigurationError中出现异常:
org.apache.hadoop.mapreduce.protocol.ClientProtocolProvider:Provider
找不到org.apache.hadoop.mapred.LocalClientProtocolProvider
在java.util.ServiceLoader.fail处(ServiceLoader.java:214)
在java.util.ServiceLoader.access$400(ServiceLoader.java:164)
位于java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:350)
位于java.util.ServiceLoader$1.next(ServiceLoader.java:421)
位于org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:90)
位于org.apache.hadoop.mapreduce.Cluster.(Cluster.java:83)
位于org.apache.hadoop.mapreduce.Cluster.(Cluster.java:76)
位于org.apache.hadoop.mapred.JobClient.init(JobClient.java:478)
位于org.apache.hadoop.mapred.JobClient.(JobClient.java:457)
位于org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:152)
位于org.apache.pig.PigServer.launchPlan(PigServer.java:1266)
位于org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1251)
位于org.apache.pig.PigServer.storeEx(PigServer.java:933)
位于org.apache.pig.PigServer.store(PigServer.java:900)
位于org.apache.pig.PigServer.store(PigServer.java:868)
位于bicing.pig.PigEstadisticas.runMyQuery(PigEstadisticas.java:97)
在bicing.pig.PigEstadisticas.main(PigEstadisticas.java:45)
什么是org.apache.hadoop.mapred.LocalClientProtocolProvider


有人能帮我吗?

这是个老问题,但既然这能帮助别人,我就回答这个问题

造成这个问题的原因是

org.apache.hadoop.mapred.LocalClientProtocolProvider

在类路径中找不到。我在设置中通过添加以下maven依赖项解决了此错误

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-mapreduce-client-common</artifactId>
    <version>2.4.1</version>
</dependency>

org.apache.hadoop
hadoop mapreduce客户端公用程序
2.4.1
就这个类的功能而言,我现在没有更多的信息,因为我自己正在学习hadoop和Pig