datastax Enterprise 4.5.1 に Hadoop ノードを追加するのに苦労しています。vnode を使用して、2 つのノードを持つ既存の Cassandra 仮想 DC があります。私は opscenter を使用しており、initial_token の値を 0 に設定して Hadoop ノードを起動します。Opscenter はすべてを正常にインストールします (つまり、5 つの緑色の点が渡されます) が、約 1 分後にノードが停止します。system.log ファイルには次の例外があります。
INFO [main] 2014-12-28 05:40:37,931 StorageService.java (line 1007) JOINING: Starting to bootstrap...
ERROR [main] 2014-12-28 05:40:37,998 CassandraDaemon.java (line 513) Exception encountered during startup
java.lang.IllegalStateException: No sources found for (-1,0]
at org.apache.cassandra.dht.RangeStreamer.getAllRangesWithSourcesFor(RangeStreamer.java:159)
at org.apache.cassandra.dht.RangeStreamer.addRanges(RangeStreamer.java:117)
at org.apache.cassandra.dht.BootStrapper.bootstrap(BootStrapper.java:72)
at org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:1035)
at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:797)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:614)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:504)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378)
at com.datastax.bdp.server.DseDaemon.setup(DseDaemon.java:394)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
at com.datastax.bdp.server.DseDaemon.main(DseDaemon.java:574)
INFO [StorageServiceShutdownHook] 2014-12-28 05:40:38,015 Gossiper.java (line 1279) Announcing shutdown
INFO [Thread-1] 2014-12-28 05:40:38,015 DseDaemon.java (line 477) DSE shutting down...
INFO [Thread-1] 2014-12-28 05:40:38,022 PluginManager.java (line 317) All plugins are stopped.
INFO [Thread-1] 2014-12-28 05:40:38,023 CassandraDaemon.java (line 463) Cassandra shutting down...
ERROR [Thread-1] 2014-12-28 05:40:38,023 CassandraDaemon.java (line 199) Exception in thread Thread[Thread-1,5,main]
java.lang.NullPointerException
at org.apache.cassandra.service.CassandraDaemon.stop(CassandraDaemon.java:464)
at com.datastax.bdp.server.DseDaemon.stop(DseDaemon.java:480)
at com.datastax.bdp.server.DseDaemon$1.run(DseDaemon.java:384)
INFO [StorageServiceShutdownHook] 2014-12-28 05:40:40,015 MessagingService.java (line 683) Waiting for messaging service to quiesce
INFO [ACCEPT-/172.31.19.81] 2014-12-28 05:40:40,017 MessagingService.java (line 923) MessagingService has terminated the accept() thread
次のようなキースペースがあります。
CREATE KEYSPACE mykeyspace WITH replication = {
'class': 'NetworkTopologyStrategy',
'Analytics': '1',
'Cassandra': '1'
};
Analytics dc ではなく、Cassandra dc で vnode を使用しているためでしょうか? datastax のドキュメントには、このタイプの混合アーキテクチャは問題ないと記載されています。私のスニッチは DSEDelegateSnitch に設定されており、これはデフォルトの DSESimpleSnitch を使用します。ノードの修復を実行しましたが、役に立ちません。もう 1 つの詳細は、opscenter で、2 つの異なるバージョンの Datastax エンタープライズ (cassandra DC で 4.5.1、Analytics DC で 2.0.8.39) を使用しているという警告が表示されることです。さらに、opscenter は、hadoop DC を「不明」としてリストします。どんな助けでも大歓迎です。