从流浪者访问弹性搜索

时间:2017-04-05 14:24:02

标签: elasticsearch vagrant

您好我几乎要尝试从我的流浪汉VM访问我的elasticsearch数据库。在这个论坛中有很多线程,但它们似乎都没有工作,这就是我发布的原因。

问题是,如果我在流浪者之外键入:curl -X GET http://127.0.0.1:9200,我将获得我的弹性本地主机的内容。

在vagrant中我通过以下方式连接到我的mongodb数据库:

mongo 10.0.2.2:27017 

因此,请遵循其中一个答案:

Vagrant reverse port forwarding?

我希望通过改变这个:

vagrant ssh -- -R 12345:localhost:80

进入这个:

vagrant ssh -- -R 12345:10.0.2.2:9200

如果输入的话,我可以从vagrant访问我的elasticsearch:

curl -X GET http://10.0.2.2:9200

但我没有得到任何东西......

这是我的流浪文件的内容:

Vagrant.configure(2) do |config|
  # config.vm.box = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
  config.vm.box = "xenial-amd64"
  config.vm.box_url = "https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-vagrant.box"
  config.vm.hostname = "proxy"


  config.vm.network "private_network", ip: "192.168.90.103"



  config.vm.provision :shell, :path => "provisions/shell/bootstrap.sh"
end

1 个答案:

答案 0 :(得分:2)

您需要确保您的vagrant-elasticsearch正在侦听所有网络接口(不仅仅是localhost)

编辑文件/etc/elasticsearch/elasticsearch.yml并更改一些内容

network.bind_host: 0
network.host: 0.0.0.0

# I do that for cors
http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/.*/

确保在更改后重新启动elasticsearch。这将允许您从主机访问vagrant-elasticsearch。

我认为最简单的方法是为您的VM设置静态IP,您可以编辑您的Vagrantfile并拥有(只是IP地址的一个示例)

Vagrant.configure("2") do |config|
  ...
  config.vm.network "private_network", ip: "192.168.90.103"
  ...
end

然后您可以使用http://192.168.90.103:9200

轻松访问elasticsearch