我最近将一个小型开发集群从 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 ","username":"","password":""},"agents":{}}'
发送到 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'ing,我确实看到了 Thrift 流量,事实上,相当多。现在没有其他人在使用集群,而且这个流量肯定来自 opscenter。
Cassandra 似乎还活着,响应了查询,在日志中没有显示任何令人不安的东西。
有什么想法会导致 opscenter 出现这些问题吗?DataStax 声称他们支持 Cassandra 2.0.0。