elasticsearch 关于ElasticSearch群集配置的建议
全新的Elasticsearch。我已经读了很多书,但我希望SO方面的专家能够对我的集群配置进行权衡,看看我是否遗漏了什么 目前,我正在使用ES(1.7.3)为每个文件索引一些非常大的文本文件(约7亿行),并为每个文件寻找一个索引。我使用logstash(V2.1)作为索引文件的首选方法。这里是我的第一个索引的配置文件:elasticsearch 关于ElasticSearch群集配置的建议,elasticsearch,logstash,elasticsearch,Logstash,全新的Elasticsearch。我已经读了很多书,但我希望SO方面的专家能够对我的集群配置进行权衡,看看我是否遗漏了什么 目前,我正在使用ES(1.7.3)为每个文件索引一些非常大的文本文件(约7亿行),并为每个文件寻找一个索引。我使用logstash(V2.1)作为索引文件的首选方法。这里是我的第一个索引的配置文件: input { file { path => "L:/news/data/*.csv" start_position =>
input {
file {
path => "L:/news/data/*.csv"
start_position => "beginning"
sincedb_path => "C:/logstash-2.1.0/since_db_news.txt"
}
}
filter {
csv {
separator => "|"
columns => ["NewsText", "Place", "Subject", "Time"]
}
mutate {
strip => ["NewsText"]
lowercase => ["NewsText"]
}
}
output {
elasticsearch {
action => "index"
hosts => ["xxx.xxx.x.xxx", "xxx.xxx.x.xxx"]
index => "news"
workers => 2
flush_size => 5000
}
stdout {}
}
我的群集包含3个运行在Windows 10上的框,每个框运行一个节点。ES不是作为服务安装的,我只支持一个主节点:
主节点:8GB RAM,ES_堆大小=3500m,单核i7
数据节点#1:8GB RAM,ES#U堆大小=3500m,单核i7
此节点当前正在运行LS_HEAP_SIZE=3000m的logstash实例
数据节点#2:16GB RAM,ES#U堆大小=8000m,单核i7
我目前配置的ES默认为每个索引5个碎片+1个副本
目前,每个节点都配置为将数据写入外部HD并记录到另一个HD
在我的测试运行中,我使用Logstash平均每秒10K个事件。我的主要目标是优化这些文件加载到ES的速度。根据我所读到的,我认为我应该接近80K
我一直在尝试改变员工数量和齐平面积,但似乎无法超越这一阈值。我想我可能遗漏了一些基本的东西
我的问题有两个:
1) 关于我的集群配置,是否有什么值得怀疑的地方,或者有什么建议可以改进这个过程
2) 如果我在每个数据节点上运行一个logstash实例来索引单独的文件,会有帮助吗
非常感谢您提前提供的所有帮助和花时间阅读
-Zinga我首先要看看logstash还是es是设置中的瓶颈。尝试在没有es输出的情况下接收文件。你从普通/裸体的仓库里得到了什么 如果这是相当高,那么你可以继续在es方面的事情。一个好的开端可能是: 如果普通日志存储不能显著提高吞吐量,您可以尝试在您的机器上增加/并行日志存储
希望这能有所帮助这听起来像是一份更好的工作哦,谢谢@DanielA.White……我甚至都不知道。我会在那里发帖的。