客户端到节点加密后,Datastax Opscenter 5.1.1无法连接到群集

曼德拉恩克

我正在尝试在cassandra上设置节点间和客户端加密。我设置了一个小型ca,生成了证书,分发了证书,并配置了节点以使用它们。

添加“ --ssl”后,节点间加密会直接工作,cqlsh。

但是我无法设置OpsCenter(运行5.1.1)。两个问题:

  1. 我按要求为我添加了/etc/opscenter/cassandra_ca.pem的ca文件路径。即使没有设置用于客户端验证的标记,我也无法保存集群,直到添加密钥库为止-我也找不到任何有关密钥库的文档。由于OpsCenter是python,因此这些显然不是cassandra的jks密钥库。

我想这意味着,各个节点将自己的证书提交给opscenter,该证书将针对ca-store进行验证。

  1. 尝试连接会在opscenterd.log中给我一个错误:
2015-05-26 10:20:49+0000 []  INFO: Using SSL when checking thrift connection: /etc/cassandra/cassandra_ca.crt, client_pem=None, client_key=None, validate=True
2015-05-26 10:20:49+0000 []  INFO: Starting factory <opscenterd.ThriftService.NoReconnectCassandraClientFactory instance at 0x7fa4868c03b0>
2015-05-26 10:20:49+0000 [] Unhandled Error
        Traceback (most recent call last):
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/log.py", line 84, in callWithLogger
            return callWithContext({"system": lp}, func, *args, **kw)
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/log.py", line 69, in callWithContext
            return context.call({ILogContext: newCtx}, func, *args, **kw)
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/context.py", line 59, in callWithContext
            return self.currentContext().callWithContext(ctx, func, *args, **kw)
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/context.py", line 37, in callWithContext
            return func(*args,**kw)
        --- <exception caught here> ---
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/epollreactor.py", line 220, in _doReadOrWrite
            why = selectable.doWrite()
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/tcp.py", line 664, in doConnect
            self._connectDone()
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/ssl.py", line 160, in _connectDone
            self.startTLS(self.ctxFactory)
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/tcp.py", line 561, in startTLS
            if Connection.startTLS(self, ctx, client):
          File "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/tcp.py", line 402, in startTLS
            self.socket = SSL.Connection(ctx.getContext(), self.socket)
          File "/usr/lib/python2.7/dist-packages/opscenterd/SslUtils.py", line 54, in getContext

          File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 303, in load_verify_locations
            raise TypeError("cafile must be None or a byte string")
        exceptions.TypeError: cafile must be None or a byte string

2015-05-26 10:20:49+0000 []  INFO: <twisted.internet.ssl.Connector instance at 0x7fa4868c05f0> will retry in 2 seconds
2015-05-26 10:20:49+0000 []  INFO: Unhandled error in Deferred:
2015-05-26 10:20:49+0000 [] Unhandled Error
        Traceback (most recent call last):
        Failure: twisted.internet.error.ConnectError: An error occurred while connecting: [Failure instance: Traceback (failure with no frames): <type 'exceptions.TypeError'>: cafile must be None or a byte string
        ].            ].

有什么提示吗?

预先感谢,扬

霉菌

Opscenter需要做一些事情来设置客户端到节点的加密

  1. Opscenter守护程序需要证书才能访问群集(就像其他任何客户端一样)。它应该通过DSE端上记录的相同过程来生产。如果那是Cassandra用于加密的密钥,则需要JKS密钥。
  2. 需要在cassandra.yaml中指定的信任库中注册Opscenterd证书。
  3. 代理需要知道Cassandra配置为接受的密钥库的路径。最简单的方法是将它们指向cassandra.yaml中指定的密钥库。

将群集添加到opscenter时,它将要求证书的位置(对于opscenterd)和密钥库的位置(对于每个cassandra节点)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法使用Opscenter连接到Cassandras默认群集(测试群集)

DataStax OpsCenter 4.0;运行但无法运行代理(可以从cmdline SSH到节点,但OpsCenter无法

启用Cassandra身份验证后,opscenter无法连接到集群

已删除节点上的Cassandra opscenter“代理无法连接”

datastax opscenter“ SchedulesNotLoaded”错误

opscenter升级到5.1.1仍无法升级代理

客户端1到服务器到客户端2的实时通信

无法将Datastax Opscenter代理从6.0.3升级到6.0.5

如何卸载DataStax OpsCenter代理?

opscenter显示新节点未知

在具有加密配置的 DSE 群集上添加带有 OpsCenter 的节点的过程是什么?

Apache Beam:初始化分区“ topic-1”时超时。Kafka客户端可能无法连接到服务器

检查特定的客户端(具有ip1,port1)是否已连接到套接字?

检查客户端连接到VerneMQ群集中的哪个节点

NiFi:无法将节点连接到群集,因为本地流与群集流不同

是否可以在 Windows 上运行 DataStax OpsCenter?

datastax opscenter仪表板的位置

Datastax代理(Cassandra)Opscenter关闭问题

Cassandra DatasTax Opscenter中的列和行

为Datastax OpsCenter选择AWS实例

从Opscenter升级Datastax-Agent失败

重新连接后引发Red5客户端流断开事件

无法连接到OpenVPN客户端

Boinc无法连接到客户端

datastax opscenter社区版是否支持多个节点?

./startFabric错误-背书者客户端无法连接到peer0.org1.example.com:7051:创建新连接失败:超出了上下文截止日期

20.04 更新后无法连接到 5Ghz wifi

节点重新启动后,Corda RPC客户端无法与Corda节点重新连接

OpsCenter与代理连接时遇到问题