【问题标题】:WSO2 DAS 3.0.0 with API Manager 1.9.0 not working带有 API Manager 1.9.0 的 WSO2 DAS 3.0.0 无法正常工作
【发布时间】:2015-12-11 03:25:37
【问题描述】:

我正在尝试使用 DAS 3.0.0 作为 WSO2 API Manager 1.9.0/1.9.1 与 Oracle 的 WSO2AM_STATS_DB 替换 BAM。

我关注http://blog.rukspot.com/2015/09/publishing-apim-runtime-statistics-to.html

我可以在数据资源管理器表 ORG_WSO2_APIMGT_STATISTICS_REQUEST 和 ORG_WSO2_APIMGT_STATISTICS_RESPONSE 中查看 DAS 碳仪表板中的数据。

但数据不存储在 Oracle 中。因此,我无法在 AM 的出版商中看到统计信息。它一直说“数据发布已启用。生成一些流量以查看统计信息。”

我在日志中收到以下错误:

[2015-12-08 13:00:00,022]  INFO {org.wso2.carbon.analytics.spark.core.AnalyticsT
ask} -  Executing the schedule task for: APIM_STAT_script for tenant id: -1234
[2015-12-08 13:00:00,037]  INFO {org.wso2.carbon.analytics.spark.core.AnalyticsT
ask} -  Executing the schedule task for: Throttle_script for tenant id: -1234
Exception in thread "dag-scheduler-event-loop" java.lang.NoClassDefFoundError: o
rg/xerial/snappy/SnappyInputStream
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:274)
        at org.apache.spark.io.CompressionCodec$.createCodec(CompressionCodec.sc
ala:66)
        at org.apache.spark.io.CompressionCodec$.createCodec(CompressionCodec.sc
ala:60)
        at org.apache.spark.broadcast.TorrentBroadcast.org$apache$spark$broadcas
t$TorrentBroadcast$$setConf(TorrentBroadcast.scala:73)
        at org.apache.spark.broadcast.TorrentBroadcast.<init>(TorrentBroadcast.s
cala:80)
        at org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast(Torre
ntBroadcastFactory.scala:34)
        at org.apache.spark.broadcast.BroadcastManager.newBroadcast(BroadcastMan
ager.scala:62)
        at org.apache.spark.SparkContext.broadcast(SparkContext.scala:1291)
        at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DA
GScheduler$$submitMissingTasks(DAGScheduler.scala:874)
        at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DA
GScheduler$$submitStage(DAGScheduler.scala:815)
        at org.apache.spark.scheduler.DAGScheduler.handleJobSubmitted(DAGSchedul
er.scala:799)
        at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAG
Scheduler.scala:1426)
        at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAG
Scheduler.scala:1418)
        at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
Caused by: java.lang.ClassNotFoundException: org.xerial.snappy.SnappyInputStream
 cannot be found by spark-core_2.10_1.4.1.wso2v1
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.java:501)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:421)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:412)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De
faultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 15 more

我错过了什么吗? 谁能帮我解决这个问题?

提前致谢。

【问题讨论】:

    标签: oracle wso2 wso2-am wso2-das


    【解决方案1】:

    将所有库(jar)移动到项目的 /WEB-INF/lib 中。现在 /WEB-INF/lib 下的所有库/jar 都将位于类路径下。

    使用 snappy-java jar 文件,它会按你的意愿工作。

    【讨论】:

    • 非常感谢。你拯救了我的一天。我必须在 /repository/components/lib 目录中添加 snappy-java-1.0.5-M1.jar 文件,它现在可以正常工作了。
    • 我认为您应该始终使用最新的库 jar 文件。 snappy-java-1.0.5-M1.jar 是过时的 jar 文件。它有很多问题。
    猜你喜欢
    • 2021-01-22
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多