我是弹性搜索和虚拟机的新手(我是一名数据分析师,但是我必须在蔚蓝云上设置弹性搜索,以便稍后进行分析);如果我的问题很愚蠢,请原谅我。 我在Azure市场上安装了可用于弹性搜索的Docker容器。 Elastcsearch已启动并正在运行,ping指定的IP正在返回预期的结果:
~$ curl 172.xx.x.x:9200
{
"status" : 200,
"name" : "Black Crow",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.7.1",
"build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19",
"build_timestamp" : "2015-07-29T09:54:16Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
我还下载了" head"用于在VM上测试开发的插件。但是我无法在localhost:9200上运行它。
~$ curl localhost:9200
给出:
curl:(7)无法连接到localhost端口9200:连接被拒绝
编辑:在添加-p flag以将localhost的9200绑定到vm的9200之后立即工作。但是仍然在浏览器上运行localhost:9200并不连接。对此,ip是无法发现的。如何让它被发现?
My $ Home目录如下所示:
ls $HOME/*
/home/company/wget-log
/home/company/config:
/home/company/data:
elasticsearch.yml plugins
/home/company/es:
plugins
(上面这个文件夹包含插件,而不是其他"插件" / data中的文件夹)
/home/company/esdata:
elasticsearch
任何帮助将不胜感激。非常感谢
答案 0 :(得分:0)
所以,你提到了一个浏览器。通常您从本地计算机运行浏览器。在这种情况下,在Windows 10计算机上,' localhost'永远不会解析为Docker容器。您的docker容器无法直接在Windows上运行,因此必须在其他位置运行。
如果您在azure vm上运行docker命令,则应该转到http:<azure vm ip>:9200
。如果您在计算机上运行它们,使用Docker计算机或boot2docker定位笔记本电脑上安装的docker引擎,则它应为http:<local vm ip>:9200
。
如果在本地运行,您可以使用该机器的IP
boot2docker ip
或docker-machine ls