【发布时间】:2018-07-04 06:51:04
【问题描述】:
我正在尝试用 Apache Ignite 替换 OpenDaylight 中的默认 LevelDB,在更改 akka.conf 文件并部署我在此处找到的 akka-persistence-ignite jar 后,我无法做到这一点。 https://github.com/Romeh/akka-persistance-ignite
我正在浏览 ODL 源代码,并将一些 Log.debug/print 语句放在 sal-distributed-datastore 模块的某些类中。
下面显示的是我将打印语句放入位于 org/opendaylight/controller/config/yang/config/actor_system_provider/impl 的类 ActorSystemProviderImpl 的构造函数中后得到的部分结果。我通过 config.entrySet() 打印了配置对象的内容。
akka.persistence.snapshot.ignite.class=Quoted("akka.persistence.
ignite.snapshot.IgniteSnapshotStore"),
akka.persistence.snapshot - store.local.class=Quoted("org.opendaylight.controller.cluster.persistence.Loca
lSnapshotStore"),
akka.persistence.journal.ignite.cache-prefix=Quoted("akka-
journal"), ignite.peerClassLoadingEnabled=ConfigBoolean(false),
akka.akka.persistence.snapshot-
store.plugin=Quoted("akka.persistence.snapshot.ignite"),
akka.persistence.journal.ignite.cache-backups=ConfigInt(1),
akka.persistence.snapshot.ignite.cache-prefix=Quoted("akka-snapshot"),
akka.persistence.journal.ignite.plugin-dispatcher=Quoted("ignite-dispatcher"),
akka.persistence.journal.ignite.class=Quoted("akka.persistence.ignite.journal.IgniteWriteJournal")
我想知道为什么在任何地方都没有调用 akka.persistence.ignite.journal.IgniteWriteJournal 类。日志和快照对象是在 ODL 源代码的哪一部分创建的? LevelDB 期刊究竟选在哪里?有没有什么关系
类 ActorSystemProviderImpl 中使用的 ActorSystem.create() 方法?
【问题讨论】:
-
正如我从提供的 akka-persistance-ignite 源中看到的,它应该在 IgniteFactoryByConfig#apply() 内启动 Apache Ignite 实例,您能否检查您是否指定了 IGNITE_HOME 系统属性并正确指向 Ignite 安装ODL启动后,您在IGNITE_HOME/work目录下创建了目录?
标签: akka ignite opendaylight akka-persistence