我们用ElasticSearch做了一个poc,但是在做的时候,我们在集群环境中丢失了数据。我们使用ES2.4.0。
谁能说说我们缺了什么?
我们的设想是:
>
使用下面的配置打开弹性服务器1和服务器2,它们位于一个集群中。
服务器上的索引文档-1:
curl-xput'20.20.20.5:9200/ert/post/1'-d'{“用户”:“Easlan”,“postdate”:“01-16-2015”,“正文”:“在ElasticSearch集群中添加数据”,“title”:“ElasticSearch集群测试-1”}“
在服务器-1或服务器-2上查找索引文档:结果总数为1(与预期一样):
curl-xget‘20.20.20.5:9200/ert/post/_search?q=user:easlan&pretty=true’curl-xget‘20.20.20.6:9200/ert/post/_search?q=user:easlan&pretty=true’
然后关闭服务器-1
服务器-2上的新文档索引:
curl-xput'20.20.20.6:9200/ert/post/2'-d'{“用户”:“Easlan”,“postdate”:“01-16-2015”,“正文”:“在ElasticSearch集群中添加数据”,“title”:“ElasticSearch集群测试-2”}“
查找服务器上的索引文档-2:结果总数为2:
curl-xget'20.20.20.6:9200/ert/post/_search?q=user:easlan&pretty=true'
关闭服务器-2
打开服务器-1
查找服务器-1上的索引文档:结果总数为1(与预期一样,因为服务器-2已关闭):
curl-xget'20.20.20.5:9200/ert/post/_search?q=user:easlan&pretty=true'
然后再次打开服务器-2。通过Server-1或Server-2查找索引文档。我们希望看到的结果总数为2,但当我们查看时,我们得到的结果是1。即使我们重新启动其中的两个,结果仍然是1:
curl-xget‘20.20.20.5:9200/ert/post/_search?q=user:easlan&pretty=true’curl-xget‘20.20.20.6:9200/ert/post/_search?q=user:easlan&pretty=true’
我们的配置:
*** Server-1 ****
cluster.name: ESCluster
node.master: true
node.name: "es1"
node.data: true
network.bind_host: ["127.0.0.1","20.20.20.5"]
network.publish_host: "20.20.20.5"
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["20.20.20.5","20.20.20.6"]
discovery.zen.minimum_master_nodes: 1
*** Server-2 ****
cluster.name: ESCluster
node.master: true
node.name: "es2"
node.data: true
network.bind_host: ["127.0.0.1","20.20.20.6"]
network.publish_host: "20.20.20.6"
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["20.20.20.5","20.20.20.6"]
discovery.zen.minimum_master_nodes: 1
问题请访问https://discuss.elastic.co/t/we-are-losing-data-in-elastic-search-cluster-v2-4-0/62011
多谢了。
我试着遵循这里列出的Nutch+ES指南 https://gist.github.com/xrstf/b48a970098a8e76943b9 https://qbox.io/blog/scring-the-web-wit-nutch-for-elasticsearch 然而,我无法让他们的组合工作。基本上,我在Nutch上执行了以下命令: 现在,我想将获取的数据索引到ES中,我按照指南进行了操作
我们使用的环境:Ubuntu 14.x [错误]2018-01-25 06:05:03.376[[main]-pipeline-manager]elasticsearch-安装模板失败。{:message=>“找不到模板文件”!“,:class=>”argumenterror“,:backtrace=>[”/usr/share/logstash/vendor/bundle/jruby/2.3.0/
在elasticsearch和kibana中启用ssl通信工作良好,但logstash无法连接elasticsearch,但我可以卷曲elasticsearch urlhttps://localhost:9200也没有防火墙阻止,我已经生成了打开的ssl证书和密钥文件并保存在elasticsearch中 弹性搜索配置文件 logstash日志文件
我有以下格式的弹性搜索文档 } } 我的要求是,当我搜索特定字符串(string.string)时,我只想获得该字符串的FileOffSet(string.FileOffSet)。我该怎么做? 谢谢
我有一个关于书籍的数据集,每本书都可以是一种或多种语言的。每个用户都注册为拥有一种或多种语言。 当用户搜索书籍时,我只想返回那些他们理解所有语言的书籍。 例如,系统中有以下两本书: 如果John被注册为懂英语、德语、法语和意大利语,那么他的查询结果永远不应该包括Book B。 我的系统目前是使用Apache Solr编写的,最后我编写了一个插件来执行子集操作(如果记录的语言是用户语言的子集,则该记
我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。