2016-11-25 1 views
0

Apache Cassandra와 함께 Apache Ignite를 사용하여 얻을 수있는 성능 향상을 평가하고 싶습니다. 나는 소스에서 Ignite를 빌드 했으므로 기본 구성이 정상적으로 부팅됩니다. example in the documentation부터 기본 클러스터를 설정하려고했지만 사용 된 클래스에 java.lang.ClassNotFoundException org.apache.ignite.cache.store.cassandra.utils.datasource와 같이이 계속 사용되었습니다. .DataSource.Apache Ignite and Cassandra - NoClassDefFoundError

제공된 jar에서 클래스 파일을 검색 했으므로 광고 환경 변수 (CLASSPATH 및 USER_LIBS)를 모두 설정했습니다. 그래도 Ignite는 찾을 수 없습니다. 나는 1.7과 Oracle JDK 1.8을 사용하고있다.

제안 사항은 정말 감사하겠습니다. 고맙습니다. README 파일에 제안


UPDATE가 나는 libs와 폴더에 점화 - 카산드라 폴더를 복사했습니다. 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

libsignite-cassandra 폴더를 복사해야합니다. 노드 시작 전에 수행해야합니다. 또한 CLASSPATHUSER_LIBS 변수가 아직 수정 된 경우 해제하고 ignite.sh 스크립트가 클래스 경로를 만들도록하십시오. libs 폴더 구조가 올바른 한 자동으로 수행해야합니다.

+0

답장을 보내 주셔서 감사합니다. 대답에서 썼 듯이 클래스의 패키지 구조와 일치하지 않았습니다. – riccamini