当前位置: 首页 > 知识库问答 >
问题:

我们正在丢失弹性搜索集群中的数据

訾凯歌
2023-03-14

我们用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
    
  • 共有1个答案

    暴招
    2023-03-14

    问题请访问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和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。