【问题标题】:GAE Datastore Admin Backup failing with 404 on mapreduceGAE 数据存储管理员备份在 mapreduce 上失败,出现 404
【发布时间】:2015-03-05 19:19:49
【问题描述】:

我有一个带有两个模块的 Java GAE 应用程序,我在使用备份/恢复数据存储区管理功能时遇到了问题。任务被正确创建但失败并在默认队列中无休止地重试。从我的非默认(“引擎”)模块的日志来看,它似乎正在尝试在那里处理它们(而不是在应用程序的默认模块中)。对于这两个模块,我的 web.xml 中也没有任何显式映射 /_ah/mapreduce 的内容,这似乎是所报告的症状。我没有看到任何文档表明我需要手动配置 appengine-mapreduce.jar,所以我还没有走这条路。

0.1.0.2 - - [07/Jan/2015:08:11:19 -0800] "POST /_ah/mapreduce/kickoffjob_callback/15759222115551DD09797 HTTP/1.1" 404 234 "https://ah-builtin-python-bundle-dot-MYAPP.appspot.com/_ah/datastore_admin/backup.do" "AppEngine-Google; (+http://code.google.com/appengine)" "engine.MYAPP.appspot.com" ms=10713 cpu_ms=22 cpm_usd=0.000026 queue_name=default task_name=50337988952552890461 pending_ms=10702 instance=0 app_engine_release=1.9.17 

这在某个时候确实有效,但我已经升级了很多(从后端转移到模块,转移到 HRD,将 GAE 版本升级到 1.9.2 等)。

提前感谢任何提示或建议!

编辑:

所以我想通了。我的应用程序中有两个模块(名为 default 和 engine)。默认任务队列路由到我的 queue.xml 中的引擎模块(以前是后端),而不是 ah-builtin-python-bundle。

在路由到 ah-builtin-python-bundle 的我的 queue.xml 中添加一个新队列并将其用于 Datastore Admin 解决了问题。

【问题讨论】:

    标签: java google-app-engine


    【解决方案1】:

    如果您使用 queue.xml 对默认任务队列进行任何更改,尤其是 target 元素,您将需要创建一个队列以使用 Datastore Admin。有点像:

    <queue>
        <name>backup</name>
        <rate>10/s</rate>
        <bucket-size>40</bucket-size>
        <max-concurrent-requests>10</max-concurrent-requests>
        <target>ah-builtin-python-bundle</target>
    </queue>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多