2016-11-25 74 views
0

我希望評估將Apache Ignite與Apache Cassandra一起使用時的性能提升。我從源代碼構建Ignite,默認配置啓動正常。從example in the documentation開始,我當時試圖建立一個基本的集羣,但我一直在使用的類得到拋出java.lang.ClassNotFoundException,例如org.apache.ignite.cache.store.cassandra.utils.datasource .DataSourceApache Ignite和Cassandra - NoClassDefFoundError

我在提供的jar中搜索了類文件,相應地設置了環境變量(包括CLASSPATH和USER_LIBS)。儘管如此,Ignite無法找到它們。我正在使用ignite 1.7和Oracle JDK 1.8。

任何建議wuold真的很感激。謝謝。


UPDATE

我試圖的Ignite-卡桑德拉文件夾複製到文件夾中的README文件建議。嘗試和不設置IGNITE_HOME環境變量,無法找到bin和src發行版,仍然是所需的類。

回答

0

我發現是什麼導致了這個問題。在Ignite文檔頁面的example provided具有幾類的封裝結構的細微差別,例如:

  • org.apache.ignite.cache.store.cassandra.datasource.DataSource(在Ignite-cassandra.jar類)
  • org.apache.ignite.cache.store.cassandra.utils.datasource.DataSource(類中的示例)

這個例子也適用於其他類。我不知道這是否是由於在沒有通過示例傳播的代碼上執行重構所致,或者僅僅是我使用了與正在運行的文檔不同的文檔版本。

0

拷貝ignite-cassandra文件夾到libs必須幫助。請注意,它必須在節點啓動之前完成。如果它們仍然被修改,請嘗試取消設置CLASSPATHUSER_LIBS變量,並讓ignite.sh腳本創建類路徑。只要你的libs文件夾結構是正確的,它應該自動完成。

+0

謝謝你的回覆。正如我在答案中寫的那樣,它與類的包結構不匹配。 – riccamini