【问题标题】:Elasticsearch external access on google cloud platform?谷歌云平台上的Elasticsearch外部访问?
【发布时间】:2016-08-03 15:47:23
【问题描述】:

我在 gce 上打开 9200 端口时遇到了一个奇怪的问题。之后:

  1. 在计算引擎中运行 VM (Ubuntu 16.04) - 是的,我知道 CentOS...还没有 :-)
  2. 安装弹性搜索
  3. gcloud compute --project realty4-1384 firewall-rules create allow-elasticsearch --allow TCP:9200 --target-tags elasticsearch

但可悲的恐龙说连接被拒绝..... curl localhost:9200 - 有效 nginx,清漆在相同的条件下工作。 我怀疑有权利的东西也许有人可以给我一个提示。 谢谢你

【问题讨论】:

  • 关于您的 GCE 实例的两个问题: - 它是否使用“默认”网络? - 它有弹性搜索标签吗?
  • 是的,维拉斯。这正是我所拥有的,但连接被拒绝:(。对不起,我错过了你的问题 - 谢谢你的时间。

标签: elasticsearch google-compute-engine gcloud


【解决方案1】:

这对我来说是一个巨大的折磨,我尝试将 elasticsearch 构建到 docker 容器并使用像 orchetrator 这样的 kubernetes,一切正常 直到我开始获得流量。我的聚合撕裂了一切。

所以我只好想办法了,用了一天的nginx什么也没有。最后, haproxy 确实对我有用:

  1. sudo apt-get install haproxy
  2. sudo vim sudo vim /etc/haproxy/haproxy.cfg
  3. 在默认部分之后添加

    listen elastic bind 0.0.0.0:9500 mode http option forwardfor server elastic 127.0.0.1:9200 check

确保使用 tcp 打开 9500 并且它可以工作!

【讨论】:

  • grumble 但是为什么默认情况下这不适用于 elasticsearch?必须有一个快捷方式来启用你所做的,但不使用 haproxy?
  • 当 GCE 中出现连接问题时,通常需要查看三个位置: 1- 在所有接口和特定端口上配置为 listen 的 VM 中有一个服务。 2- 有一个定义的规则允许在Google Firewall 上进行连接。 3- 虚拟机内部没有防火墙(即 iptables)阻止连接。
  • 从逻辑上讲,您应该转到 /etc/elasticsearch/elasticsearch.yml 并将主机设置为您的 ip...但它不起作用:-)。我并不是说这是最好的解决方案,但我对 haproxy 没有意见。不要忘记启用它 systemctl。
  • P.S.并使用 ansible 设置所有内容,执行一次,然后忘记头痛祝大家好运!
  • 你刚刚救了我的命!
猜你喜欢
  • 1970-01-01
  • 2014-11-21
  • 1970-01-01
  • 2019-02-27
  • 2017-10-06
  • 2020-06-02
  • 2018-06-22
  • 1970-01-01
  • 2020-09-04
相关资源
最近更新 更多