java - Appengine Mapreduce 受限类 ManagementFactory

标签 java google-app-engine mapreduce

当我使用 Appengine-mapreduce 库触发 mapreduce 作业时,出现受限类异常。我使用的是 appengine sdk 版本 1.8.8。错误似乎是由于 appengine-mapper 代码内部使用 hadoop-0.20.2 造成的。

java.lang.NoClassDefFoundError: java.lang.management.ManagementFactory is a restricted class. Please see the Google App Engine developer's guide for more details.
    at com.google.apphosting.runtime.security.shared.stub.java.lang.management.ManagementFactory.<clinit>(ManagementFactory.java)
    at org.apache.hadoop.util.ReflectionUtils.<clinit>(ReflectionUtils.java:121)
    at org.apache.hadoop.io.serializer.SerializationFactory.add(SerializationFactory.java:64)
    at org.apache.hadoop.io.serializer.SerializationFactory.<init>(SerializationFactory.java:54)
    at com.google.appengine.tools.mapreduce.SerializationUtil.serializeToByteArrayOutputStream(SerializationUtil.java:46)
    at com.google.appengine.tools.mapreduce.SerializationUtil.serializeToByteArray(SerializationUtil.java:60)
    at com.google.appengine.tools.mapreduce.v2.impl.ShardState.setInputSplit(ShardState.java:215)
    at com.google.appengine.tools.mapreduce.v2.impl.handlers.Worker.scheduleShards(Worker.java:218)
    at com.google.appengine.tools.mapreduce.v2.impl.handlers.Controller.handleStart(Controller.java:133)

触发代码:

MapReduceXml mrXml = MapReduceXml.getMapReduceXmlFromFile();
Configuration configuration = mrXml.instantiateConfiguration( configName, params );

jobId = Controller.handleStart(configuration, configName, "/mapreduce/");

请多多指教!!

最佳答案

使用 appengine-mapper 附带的 hadoop-0.20.2-core.jar 后,此问题得到解决。它似乎不喜欢来自maven的hadoop-core-0.20.2文件。

关于java - Appengine Mapreduce 受限类 ManagementFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29165224/

相关文章:

java - 尽管已初始化,但无法到达 Controller 中的端点

javascript - 部署后 GetcurrentPosition 不起作用

python - 设置 GAE 命名空间

ios - 减少元组数组

hadoop - Oozie 中的 MapReduce 作业可以从文件中读取吗?

java - 通过Eclipse制作自定义Android键盘教程;有关 R 引用的错误不会消失

java - 安卓数据库创建

java - Android SQLiteException 语法错误

java - Google App Engine + SOAPConnection 错误

Hadoop Cassandra集成设计