背景:
目前采集网络流量数据,数据在30万条/s左右,采用filebeat+kafka+logstash+es集群存储,目前已有的机器为48C 64G,目前测试用了1台master,6台data,根据官网建议进行了优化只压到了5万/s。
1、请问要满足30万/s,如何搭建es集群,具体要多少台机器,多少个master节点,多少data节点,多少client节点?
2、搭建集群时如何配置,优化?
3、建议data节点关机http,那写数据的时候使用client节点吗 ?
目前采集网络流量数据,数据在30万条/s左右,采用filebeat+kafka+logstash+es集群存储,目前已有的机器为48C 64G,目前测试用了1台master,6台data,根据官网建议进行了优化只压到了5万/s。
1、请问要满足30万/s,如何搭建es集群,具体要多少台机器,多少个master节点,多少data节点,多少client节点?
2、搭建集群时如何配置,优化?
3、建议data节点关机http,那写数据的时候使用client节点吗 ?
1 个回复
rochy - rochy_he
赞同来自:
2. 写入的时候,索引的副本数可以设置为 0,刷新时间设置为 60s 或者更大时间;
3. 调整 translog 的设置:
index.translog.durability: async
index.translog.sync_interval: 600s
index.translog.flush_threshold:50000
index.translog.flush_threshold_size: 1024mb
4. 对不参与搜索的字段关闭分析器,对不参与聚合、排序的字段设置关闭 doc_values;
5. 调整 logstash 的 bulk 大小,以及消费 kafka 的线程数;
6. 设置索引相关的线程池:
threadpool.index.size: 100
threadpool.index.queue_size: 500
7. 增大索引实时时间设置:index.engine.robin.refresh_interval: 10s
8. 增大内存缓冲区: indices.memory.index_buffer_size: 20%