Elasticsearch你应当知道的那些细节(1-15)

1、es 在6.8版本之前默认是5个分片,单个索引支持多个type,而在7.0之后默认一个分片,单个索引仅有支持一个type。
2、如果你不做任何处理,数据是以UTC时间存储在es中的,kibana展示数据时会默认自动加上8个小时,显示成本地时间。
3、自定义索引名称时,最好不要使用下划线,否则你在用es-curator工具自动化管理索引时,会匹配不上,所以请改成中划线吧。
4、安装部署elk,请使用rpm或者deb包,可以省去你许多手动文件配置,从而通过JVM和LINUX系统检查。而且直接使用 systemctl 命令后台服务运行elk。省时省力,何乐而不为。
5、es 的JVM设定,官方建议,不要查过32G,生产中Xms和Xmx都设成最大31G就行,避免 heap resize时引发停顿。
6、es 集群的配置有两类(动态和静态)共四种,优先级别最高到低依次是:transient、persistent、command-line、config-file。静态设置主要就是elasticsearch.yml,这个尽量要简洁按需配置,动态设置就是集群API,会覆盖elasticsearch.yml文件,transient集群重启会失效,persistent集群重启不会丢失。
7、es本身就有HA机制,所以在存储上无需使用RAID1/5/10,从而节省存储空间。
8、遇到问题首先就看报错日志,一般‘elk日志默认保存在/var/log目录下,如果这里看不到报错信息,说明elk服务启动失败,你需要到/var/log/message下去寻找。
9、es会自动迁移分片,从而使集群节点上分片始终达到平衡,举例:一个index默认5个分片一个副本,那么主副本分片就是10个,假如有五个节点的话,ES会自动平均分配到每个节点上(单节点上2个片)。
10、ES最擅长做的就是搜索,匹配最佳文档,而不是关联分析,不要试图一次查询返回大量结果集,如果一定要这么做,请使用scrollAPI。
11、批量往es写入数据最好不要指定ID,因为那样es首先会判断这个ID到底存不存在,会不会冲突。从而影响性能。最好的做法就是让es自己指定。
12、当你只是考虑精确查找文档,而不关心相关算分时,可以使用constant_score和filter组合,从而忽略算分和利用缓冲,从而提高效率。
13、logstash默认每个3S检查一次conf.d下的配置文件(不是logstash.yml和pipeline.yml),如果配置文件有变动,且语法正确,那么,会自动切换执行新的配置文件。否则,会报错,但会继续执行旧的配置文件。省去重新启动的时间损失,保证数据的连贯性。
14、强烈建议,将logstash的queue.type(在logtash.yml文件中配置)改成persistent(持久队列),默认是memory(内存)如果logstash意外停止,会导致数据丢失,改成persistent后,数据会落盘,实现缓冲,如果再把参数queue.max_write:1(默认是1024)设成1,虽然效率会降低,但可以保证数据至少一次交付。这个功能某种程度上可以代替Kafka。
15、logstash有很好的背压机制,如果上游数据量暴涨,不会向下游泛滥。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值