【问题标题】:Cockroachdb Admin UI Not ReachableCockroachdb 管理 UI 无法访问
【发布时间】:2017-11-10 23:21:52
【问题描述】:

我正在尝试在 Digital Ocean 上部署 CockroachDB 集群。我按照教程中列出的步骤https://www.digitalocean.com/community/tutorials/how-to-deploy-cockroachdb-on-a-three-node-cluster-on-ubuntu-16-04

我可以看到 cockroachdb 在主机上运行,​​但我无法访问 Web Admin UI。

我在通过应用程序访问它时遇到了同样的问题。

这是启动命令和响应。 注意:我在创建 Droplet 时启用了专用网络,可能是因为这个原因吗?

roach@cockroach-01:~$ cockroach start --insecure --background --advertise-host=10.132.10.114 * * WARNING: RUNNING IN INSECURE MODE! * * - Your cluster is open for any client that can access <all your IP addresses>. * - Any user, even root, can log in without providing a password. * - Any user, connecting as root, can read or write any data in your cluster. * - There is no network encryption nor authentication, and thus no confidentiality. * * Check out how to secure your cluster: https://www.cockroachlabs.com/docs/stable/secure-a-cluster.html * CockroachDB node starting at 2017-11-10 22:59:07.153981296 +0000 UTC (took 0.4s) build: CCL v1.1.2 @ 2017/11/02 19:32:03 (go1.8.3) admin: http://cockroach-01:8080 sql: postgresql://root@10.132.10.114:26257?application_name=cockroach&sslmode=disable logs: /home/roach/cockroach-data/logs store[0]: path=/home/roach/cockroach-data status: initialized new cluster clusterID: 77dea0f4-d2c1-49c3-bfe9-8686a6084603 nodeID: 1

【问题讨论】:

    标签: digital-ocean cockroachdb


    【解决方案1】:

    这很可能是防火墙问题。您能否确保从您的 IP 地址允许端口 26257(sql 端口)和 8080(管理 UI)端口。 检查实际节点可能是一个很好的第一步。为了确保管理 UI 正在运行,您可以尝试 ssh 进入您的 droplet 并运行: $ curl -k https://localhost:8080/health

    如果您使用--insecure 运行,这可能是http,如果您没有监听所有接口,它可能是您的内部IP(您可以使用ifconfig 找到您的IP)

    也有可能事情发生了一些变化,您指向的文档是在 cockroach 仍处于测试阶段时写回的。您可以在我们的网站上找到最新的部署说明:https://www.cockroachlabs.com/docs/stable/deploy-cockroachdb-on-digital-ocean.html

    【讨论】:

    • 我检查了防火墙,它允许从任何地方连接到端口 26257 和 8080。我运行 curl 命令并收到错误 roach@cockroach-03:~$ curl -k https://localhost:8080/healthcurl: (35) gnutls_handshake() failed: An unexpected TLS packet was received.
    • 你在使用--insecure吗?如果是这样,则 URL 将是 http://localhost:8080。但看起来管理 UI 端口至少正在侦听,否则您会看到 Connection Refused。您能否粘贴您的 cockroach 命令行参数及其启动消息(显示版本信息和其他)。它也可能与它运行的接口有关。
    • 是的,以--insecure 运行并将其更改为http,我得到了回复。 ip地址为droplet的私有ip地址{ "nodeId": 3, "address": { "networkField": "tcp", "addressField": "10.132.78.232:26257" }, "buildInfo": { "goVersion": "go1.8.3", "tag": "v1.1.2", "time": "2017/11/02 19:32:03", "revision": "c726df22152a771cdd1882679c772d4e7799440d", "cgoCompiler": "gcc 6.3.0", "platform": "linux amd64", "distribution": "CCL", "type": "release-gnu" }
    • 很奇怪。出于好奇,我在尝试,DO 很高兴让我从另一个 DO 液滴中访问您的内部地址。我期待某种类型的私人网络。如果我 ssh 到我的实例并设置一个端口转发到您的内部 IP(ssh &lt;my instance&gt; -L 8080:10.132.78.232:8080,然后我可以在本地浏览器中导航到 http://localhost:8080 并查看管理 UI,它看起来很健康。我没有办法知道您的公共 IP 地址,但至少管理 UI 已启动并正在运行,并且可以通过内部 IP 地址访问。这听起来仍然像防火墙问题。
    • 您能否通过 DO UI 检查 droplet 的网络部分并验证防火墙设置?
    【解决方案2】:

    我在 DigitalOcean 上也遇到过同样的事情。尝试在启动节点时将 -http-host 标志设置为 DigitalOcean 实例的公共 IP 地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 2018-12-25
      • 2017-10-16
      • 1970-01-01
      相关资源
      最近更新 更多