我最近将一个小型开发集群从1.2.9升级到Cassandra 2.0.0。我使用过DataStax OpsCenter免费版,之前它运行正常。升级后,它拒绝查看群集 - 它显示了0个节点处于活动状态的群集名称。试图停止/启动代理等没有改变任何东西。我最终删除了OpsCenter键空间并从头开始重新安装opscenter。但问题仍然存在 - 我无法添加正在运行的集群。当我尝试将其作为“现有群集”并单击“保存”按钮时,我得到“创建群集时出错:调用/ cluster-configs超时”。消息大约20-30秒。
我做了一些挖掘,发现OpsCenter从不响应HTTP POST:
{ “卡桑德拉”:{ “seed_hosts”: “10.XYZ”, “api_port”: “9160”, “用户名”: “”, “密码”: “”}, “JMX”:{ “端口” :“7199”,“用户名”:“”,“密码”:“”},“代理人”:{}}'
发送给 HTTP://:8888 /集群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的流量。现在没有其他人正在使用群集,这种流量肯定来自运营中心。
Cassandra似乎还活着,对查询做出回应,并没有在日志中显示任何令人不安的信息。
任何想法是什么导致opscenter出现这些问题? DataStax声称他们支持Cassandra 2.0.0。
答案 0 :(得分:3)
DataStax仅正式支持DataStax Enterprise附带的Cassandra版本。 DataStax Enterprise中打包的当前版本的Cassandra是1.2.x,这就是OpsCenter使用该版本的Apache Cassandra的原因。 OpsCenter尚未与Apache Cassandra 2.0一起使用,但我们正在努力为DataStax Enterprise支持它做准备。
答案 1 :(得分:0)
您使用的是哪个版本的OpsCenter?您需要使用最新的3.2.2版本才能使用2.0。
答案 2 :(得分:0)
切换到Cassandra 2.0.1和Opscenter 3.2.2时遇到了类似的问题。我发现它与cassandra.yaml中的rpc_server_type有关。如果rpc_server_type设置为HSHA,则opscenter在连接到群集时出现问题。当我把它切换到同步时,opscenter连接就好了。希望有所帮助。