Articles of elasticsearch

不同的用例不同的elasticsearch节点

我们的Elasticsearch集群用于为前端提供search结果。 大部分stream量是可以忽略的,集群可以很好地处理负载。 然而,在每周的计划时间,生成数十万个通讯,每个通讯包含用户特定的内容,导致每个通讯的ES查询。 在此期间,我们集群的整体响应时间正在显着下降。 我们正在寻找方法来缓解这种行为,并提出了将单独的ES节点用于单独的查询问题的想法。 因此节点A将被访问用于正常stream量,而节点B将被专门访问用于通讯查询。 这样,节点B只会导致通讯查询放缓,这很好。 像这样的集群设置可行/可行/可取? 有更好的select吗?

elasticsearchnetworking推荐服务器linux

我正在寻找关于我为弹性search设置的两台服务器的networking设置的帮助。 在每个服务器上是一个embedded式网卡,一个额外的网卡是安装4端口,其中两个是10GB。 我真正需要的是一些想法如何最好设置服务器networking明智的elasticsearch。 粘合是,但多less? 2个端口或所有端口在一起? 一旦完成,我可以安装elasticsearch。 援助真的会被赞赏, 谢谢 短发

把东西从logstash扔到graylog2时丢失数据

设置如下: 系统日志发送东西到logstash logstash将其parsing为GELF logstash将其发送到graylog 我知道Logstash使用elasticsearch,所以做的是graylog,在我的设置中,elasticsearch服务器是不同的。 这是问题: 当我运行logstash这个标志 – –backend 'elasticsearch:///?local'并发送数据到graylog我看到这些大量的数据。 但是因为我知道我所要求的所有数据(也就是来自graylog仪表板)都是来自elasticsearch的graylog用途,所以我决定运行logstash jarfile而不使用elasticsearch设置。 除去上述标志后,吞吐量下降了10倍。 有没有人有任何想法,为什么可能发生? 第二个我用–backend 'elasticsearch:///?local'设置运行logstash,吞吐量计数恢复正常? 我试图找出为什么logstash的弹性search在这里是相关的? 我不需要logstash的web界面,只需要graylog仪表板。 谢谢

在gentoo上的elasticsearch服务封装

我已经安装了elasticsearch,并在/ opt / elasticsearch中工作。 我想安装一个服务包装器来启动/停止/重新启动它作为服务。 Elasticsearchbuild议使用java-service-wrapper: curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz mv *servicewrapper*/service elasticsearch/bin/ # Setup ElasticSearch as a service: elasticsearch/bin/service/elasticsearch install 但是,服务的启动会失败,并显示以下消息: the value of wrapper.java.command does not appear to be a java binary 。 我真的不知道从哪里开始debugging,并会欣赏任何想法。

如果我想使用elasticsearch,那么安装哪个apt-get包?

sudo apt-get install XXX? 我应该安装什么java包?

使用我自己的elasticsearch.yml启动elasticsearch dockerfile

我通过在这里find的dockerfile启动elasticsearch: https://index.docker.io/u/ehazlett/elasticsearch/ 它工作很好。 我需要定义自己的主机,因为我的环境不支持任何种类的多播。 我明白我的select是: 1)当elasticsearch作为命令行参数运行时提供主机 2)修改我的elasticsearch.yml文件来设置主机。 我知道如何构buildyml,我需要知道的是如何通过docker使用我自己的yml而不是容器中的yml来启动elasticsearch。 那可能吗? 谢谢。

ElasticSearch多重索引和路由

目前我有以下设置。 Syslog – > Logstash – > ElasticSearch – > Kibana Logstash正在创build一个每日索引“/etc/elasticsearch/data/test-elasticsearch/nodes/0/indices/logstash-2014.02.04”,我正在通过Kibana查看所有的日志。 我们希望使用kibana-authentication-proxy设置来设置一些基于用户的访问控制,因为它支持每用户kibana索引。 现在你可以为用户A使用索引kibana-int-userA,为用户B使用kibana-int-userB我想把所有从logstash进入的日志放在位置为“/ var / log / UNIX / *”的地方。日志“发送到unix-2014.02.04的新索引,而不是logstash。 这样我可以使用Kibana身份validation代理给我的UNIX用户只能访问他们的日志。 我已经读了一些关于创build映射,但不知道如何将它们结合在一起。 我看到你可以用API调用做各种各样的事情,但是如果我可以从一开始就在elasticsearch.yml文件中设置所有这些,我们就好奇了。 谢谢, 埃里克

Elasticsearch River JDBC – 避免“SELECT *”

我想将一些MySQL表同步到一个ElasticSearch索引,你知道,search。 但几乎所有我能find的例子都显示了一个很大的坏的“SELECT * FROM”,可以举个例子,但是我正在生产中,在我的一张桌子里面有10M行,所以我甚至不想尝试每隔一分钟“select*”。 我习惯了狮身人面像和它 UPDATE … SET current_id = last_id, last_id = MAX(id); SELECT * WHERE id > (SELECT current_id…); 一种策略。 我几乎没有问题,但只是“差不多”,因为一个物品在其生命的第一个分钟通常有很大的可能性被修改,它将被索引为“新生”并保持原样。 所以我可以想象更好的策略,比如触发器在“索引”表中存储主键,在更新和创build时,河stream成为 SELECT * FROM … WHERE id IN (SELECT id … FROM to_index) 从来没有尝试过,但似乎更好,至less有一个更好的开始点。 还有删除行的问题… 但它可能存在众所周知的策略,经过充分讨论和testing,我没有find它们,我在这里错过了什么大事? 或者我是唯一试图避免在数百万原料中使用SELECT *的人?

elasticsearch-river-jdbc在mysql数据库中插入重复logging

对不起,我是Elasticsearch的新手,我正在使用elasticsearch-river-jdbc连接到myql数据库,一切都工作正常,除了每次运行按照计划插入重复logging这一事实。这就是我正在使用 curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{ "type" : "jdbc", "schedule" : "0 0-59 0-23 ? * *", "jdbc" : { "url" : "jdbc:mysql://localhost:3306/test", "user" : "test", "password" : "test", "sql" : "select * from test" } }' 我经历了一些文件,其中提到,我们可以运行SQL查询select基于_id,但我的问题是当我们创build这条河,只有这个唯一的身份证创build,并在Elasticsearch一边创build,以我的理解MySQL没有关于这方面的知识。请让我知道如果我失去了一些东西 所以,如果我正在写这样的sql声明 "sql" : "select id as _id,a1,a2 from test" [2015-03-10 13:16:00,018][ERROR][river.jdbc.RiverPipeline ] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'id' in […]

ELK堆栈:无法加载Kibana 4

我已经按照这个指南安装了Elasticsearch,Logstash,Kibana和Nginx,我使用了最新的版本。 https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04 问题是,当访问Web服务器时,它说: Kibana正在加载。 在这里给我一点时间。 我正在加载一大堆代码。 别担心,所有这些好东西都会被下次caching! 但是它从不加载Kibana的开始页面。 当我尝试http:// server-ip:5601我得到一个 ERR_CONNECTION_REFUSED 但似乎加载curl: elk-stack:/opt/kibana/bin$ curl -i 0:5601 HTTP/1.1 200 OK X-App-Name: kibana Accept-Ranges: bytes Cache-Control: public, max-age=0 Last-Modified: Tue, 21 Jul 2015 09:46:14 GMT ETag: W/"6f9-14eb001a270" Content-Type: text/html; charset=UTF-8 Content-Length: 1785 Vary: Accept-Encoding Date: Wed, 22 Jul 2015 16:07:09 GMT Connection: keep-alive <!DOCTYPE html> <!–[if IE […]