最近、小さな開発クラスターを 1.2.9 から Cassandra 2.0.0 にアップグレードしました。DataStax OpsCenter 無償版を使用しましたが、以前は問題なく動作していました。アップグレード後、クラスターを表示することを拒否しました - 0 ノードが生きているクラスター名を表示していました。エージェントなどを停止/開始しようとしても何も変わりませんでした。結局、OpsCenter キースペースを削除し、opscenter を最初から再インストールしました。しかし、問題はまだ残っています。実行中のクラスターを追加できません。「既存のクラスター」として実行しようとして「保存」ボタンをクリックすると、「クラスターの作成中にエラーが発生しました: /cluster-configs への呼び出しがタイムアウトしました」というメッセージが表示されます。約20〜30秒でメッセージ。
掘り下げてみたところ、OpsCenter が HTTP POST に応答しないことがわかりました。
{"cassandra":{"seed_hosts":"10.XYZ","api_port":"9160","username":"","password":""},"jmx":{"port":"7199 ","ユーザー名":"","パスワード":""},"エージェント":{}}'
http://:8888/cluster-configs に送信
opscenter のログには次のように表示されます。
2013-09-11 19:40:19+0000 [] DEBUG: Trying to connect to node XXXXXX over thrift
2013-09-11 19:40:19+0000 [] DEBUG: Not returning SASL credentials for XXXXXXX
2013-09-11 19:40:19+0000 [] INFO: Starting factory <opscenterd.ThriftService.NoReconnectCassandraClientFactory instance at 0x2b3d3f8>
2013-09-11 19:40:19+0000 [] DEBUG: Node ping successful: XXXXXXXX
2013-09-11 19:40:19+0000 [] INFO: Adding new cluster 'my-cluster-name': {u'jmx': {u'username': u'', u'password': u'', u'port': u'7199'}, 'kerberos_client_principals': {}, 'kerberos': {}, u'agents': {}, 'kerberos_hostnames': {}, 'kerberos_services': {}, u'cassandra': {u'username': u'', u'seed_hosts': u'XXXXXXXX', u'api_port': u'9160', u'password': u''}}
2013-09-11 19:40:19+0000 [] INFO: Starting new cluster services for my-cluster-name
2013-09-11 19:40:19+0000 [my-cluster-name] INFO: Starting services for cluster my-cluster-name
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: keyspace type system are {'system': [u'system', u'system_traces', u'system_auth', u'dse_auth']}
2013-09-11 19:40:19+0000 [] DEBUG: Not using SSL for Thrift communication
2013-09-11 19:40:19+0000 [] DEBUG: ignored_keyspaces are [u'system', u'system_traces', u'system_auth', u'dse_auth']
2013-09-11 19:40:19+0000 [] DEBUG: Not using Kerberos authentication for Thrift
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Not using separate storage cluster
2013-09-11 19:40:19+0000 [] INFO: Metric caching enabled with 50 points and 1000 metrics cached
2013-09-11 19:40:19+0000 [] INFO: Starting PushService
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Adding connection to <CassandraNode XXXXXXXX:9160 @0x2ac18c0>
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Adding connection to <CassandraNode XXXXXXXX:9160 @0x2ac18c0>
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Adding connection to <CassandraNode XXXXXXXX:9160 @0x2ac18c0>
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Adding connection to <CassandraNode XXXXXXXX:9160 @0x2ac18c0>
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Adding connection to <CassandraNode XXXXXXXX:9160 @0x2ac18c0>
2013-09-11 19:40:19+0000 [my-cluster-name] DEBUG: Waiting for describe_version() results
2013-09-11 19:40:19+0000 [my-cluster-name] INFO: Starting CassandraCluster service
2013-09-11 19:40:19+0000 [my-cluster-name] INFO: agent_config items: {'cassandra_log_location': '/var/log/cassandra/system.log', 'thrift_port': 9160, 'thrift_ssl_truststore': None, 'rollups300_ttl': 2419200, 'rollups86400_ttl': -1, 'jmx_port': 7199, 'metrics_ignored_solr_cores': '', 'api_port': '61621', 'metrics_enabled': 1, 'thrift_ssl_truststore_type': 'JKS', 'kerberos_use_ticket_cache': True, 'kerberos_renew_tgt': True, 'rollups60_ttl': 604800, 'cassandra_install_location': '', 'rollups7200_ttl': 31536000, 'kerberos_debug': False, 'storage_keyspace': 'OpsCenter', 'ec2_metadata_api_host': '169.254.169.254', 'provisioning': 0, 'kerberos_use_keytab': True, 'metrics_ignored_column_families': '', 'thrift_ssl_truststore_password': None, 'metrics_ignored_keyspaces': 'system, system_traces, system_auth, dse_auth, OpsCenter'}
2013-09-11 19:40:19+0000 [] INFO: Stopping factory <opscenterd.ThriftService.NoReconnectCassandraClientFactory instance at 0x2b3d3f8>
2013-09-11 19:41:07+0000 [] DEBUG: Average opscenterd CPU usage: 0.40%, memory usage: 38 MB
2013-09-11 19:42:07+0000 [] DEBUG: Average opscenterd CPU usage: 0.02%, memory usage: 38 MB
シード ホストで tcpdump を実行したところ、Thrift トラフィックがかなりありました。現在、他の誰もクラスターを使用しておらず、このトラフィックは確かに opscenter からのものです。
Cassandra は生きているようで、クエリに応答し、ログに問題はありません。
opscenterでこれらの問題を引き起こす原因は何ですか? DataStax は、Cassandra 2.0.0 をサポートしていると主張しています。