【问题标题】:Cannot add existing Cassandra 2.0.0 cluster to OpsCenter无法将现有 Cassandra 2.0.0 集群添加到 OpsCenter
【发布时间】:2013-09-15 23:59:31
【问题描述】:

我最近将一个小型开发集群从 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","用户名":"","密码":""},"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。

【问题讨论】:

    标签: cassandra opscenter


    【解决方案1】:

    DataStax 仅正式支持 DataStax Enterprise 随附的 Cassandra 版本。打包在 DataStax Enterprise 中的当前 Cassandra 版本是 1.2.x,这就是 OpsCenter 使用该版本的 Apache Cassandra 的原因。 OpsCenter 尚不能与 Apache Cassandra 2.0 一起使用,但我们正在努力为 DataStax Enterprise 何时支持它做准备。

    【讨论】:

    • 感谢您确认它不受支持。我认为这是因为 3.2.2 的发行说明中的​​条目“改进了对 Cassandra 2.0 的支持。” (datastax.com/documentation/opscenter/3.2/webhelp/…)
    • 兼容性问题正在慢慢改善。我们正在更正文档。目前还没有官方支持。有很多已知问题。但是,请随时告诉我们您的发现,以便我们解决所有支持问题,并在 DSE 支持 OpsCenter 时为 2.0 做好准备。
    • FWIW:当我在 AWS 上以社区模式使用最新的 Datastax AMI (v2.4) 时,我在使用带有 Cassandra 2.0.1 社区版的打包 OpsCenter 时没有任何问题。
    • AMI 只使用最新的 OpsCenter。在写这篇文章的时候是 3.2.2,所以如果你不是,请使用它。
    【解决方案2】:

    您使用的是什么版本的 OpsCenter?您需要使用最新的 3.2.2 版本才能使用 2.0。

    【讨论】:

      【解决方案3】:

      我在切换到 Cassandra 2.0.1 和 Opscenter 3.2.2 时遇到了类似的问题。我发现它与 cassandra.yaml 中的 rpc_server_type 有关。如果 rpc_server_type 设置为 HSHA,则 opscenter 连接到集群时出现问题。当我将其切换为同步时,opscenter 连接得很好。希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2017-01-30
        • 2012-01-03
        • 2014-04-23
        • 2020-09-13
        • 2014-02-22
        • 2021-09-18
        • 2013-02-17
        • 2016-11-07
        • 2017-05-20
        相关资源
        最近更新 更多