我希望评估将Apache Ignite与Apache Cassandra一起使用的性能提升。我从源代码构建了Ignite,默认配置启动正常。从example in the documentation开始,我试图建立一个基本集群,但我一直在使用的类上获得 java.lang.ClassNotFoundException ,例如 org.apache。 ignite.cache.store.cassandra.utils.datasource.DataSource 即可。
我已经在提供的广告中搜索了类文件,广告设置了相应的环境变量(CLASSPATH和USER_LIBS)。但是,Ignite找不到它们。我正在使用ignite 1.7和Oracle JDK 1.8。
任何建议都应该得到真正的赞赏。谢谢。
更新
我尝试将 ignite-cassandra 文件夹复制到 libs 文件夹中,如README文件中所建议的那样。无论是否设置IGNITE_HOME环境变量,无论是bin还是src分布,都无法找到所需的类。
答案 0 :(得分:0)
将ignite-cassandra
文件夹复制到libs
必须有所帮助。请注意,必须在节点启动之前完成。如果仍然修改CLASSPATH
和USER_LIBS
变量,请尝试取消设置,并让ignite.sh
脚本创建类路径。只要您的libs
文件夹结构正确,就应该自动完成。
答案 1 :(得分:0)
我发现了造成这个问题的原因。 Ignite文档页面中的example provided在几个类的包结构中有细微差别,例如:
org.apache.ignite.cache.store.cassandra.datasource.DataSource
(ignite-cassandra.jar中的课程)org.apache.ignite.cache.store.cassandra.utils.datasource.DataSource
(示例中的类)这同样适用于示例中的其他类。我不知道这是否是由于对代码的重构没有通过示例传播,或者只是我使用了与我运行的文档不同的文档版本。