在 Cassandra EC2 集群外访问 devops 接口

Accessing devops interface outside Cassandra EC2 cluster

我刚刚在 AWS 上设置了一个四节点 Cassandra 3.4 集群 运行 centOS 7。我能够配置它并将所有节点放在一起。现在我想执行一些测试,使用我安装在一台机器上的 devops 中心监控集群行为。

我想使用 ssh-tunneling 从我的计算机访问它:

ssh -i Amazon-EC2-Ami.pem -L 9999:localhost:8888 centos@public_address

使用我的浏览器,localhost:9999 正确地连接到 devops 登录页面:http://localhost:8888/opscenter/login.html,但我得到了 ERR_CONNECTION_REFUSED

我尝试使用命令行浏览器访问该机器上的 devops,它显示登录页面。我真的不知道问题出在哪里。非常感谢任何信息。这是 cassandra-yaml 配置文件,以防有帮助:

cluster_name: 'Cloak'
listen_address:
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: 
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - seeds: "172.31.55.186,172.31.55.187"

编辑 使用启动 ssh 隧道的 -v 选项,我可以确认请求已正确隧道化:

[centos@ip-172-31-55-186 ~]$ debug1: Connection to port 9999 
forwarding to localhost port 8888 requested.
debug1: channel 3: new [direct-tcpip]
debug1: Connection to port 9999 forwarding to localhost port 8888      
requested.
debug1: channel 4: new [direct-tcpip]
debug1: channel 3: free: direct-tcpip: listening port 9999 for    
localhost port 8888, connect from 127.0.0.1 port 43846 to 127.0.0.1     
port 9999, nchannels 5

我终于设法从我的电脑上访问了它。我不得不修改运营中心的配置文件,位于/etc/opscenter/opscenterd.conf(仅适用于安装包):

[webserver]
port = 8888
interface = 127.0.0.1

默认情况下,网络服务器只接受来自本地主机的请求。可能这不是最好的选择,但由于运营中心允许配置用户,我设置interface = 0.0.0.0,允许任何主机联系它。