研究学习 Elasticsearch 5.0.0 功能提升哪些,ES如何弹性迁移日志数据,安装需要什么环境?

Posted by Yancy on 2017-03-30

ES 现在普遍大公司都已经在使用,有的用来做数据存储,也有做性能监控,也有做日志收集,跟大数据结合做日志分析。
今天在家无聊研究官网学习了下Elasticsearch5.0.0 功能新增哪些,个人觉得ES也是现在开源日志分析平台比较火的,从14年开始陆续使用频率不断提升。
之前也有了解过Graylog 现在比ES 做数据存储分析 不错的是Graylog 比ES性能好。
废话不多说了哈哈

Elasticsearch 5.0.0发布

2016年10月26日发布 Elasticsearch 5.0.0 今天去下载吧!你知道你想。

下载Elasticsearch 5.0.0
Elasticsearch 5.0.0发行说明
弹性搜索5.0突破变化

Elasticsearch 5.0.0对大家有所帮助 这是有史以来最快,最安全,最具弹性,最简单易用的Elasticsearch版本,它具有一系列增强功能和新功能。

  • 索引性能
  • 取食节点
  • 无痛脚本
  • 新的数据结构
  • 搜索和聚合
  • 用户友好
  • 弹性
  • Java REST客户端
  • 迁移助手

下面从官网上面翻译得来的:

索引性能

由于包括更好的数字数据结构(参见新数据结构)的一些更改,索引吞吐量在5.0.0中有了显着改善,锁中的争用减少,阻止对同一文档的并发更新,以及减少事务日志时的锁定需求。异步translog fsyncing将特别有利于旋转磁盘的用户,而依赖Elasticsearch自动生成文档ID时,仅追加用例(基于思考时间的事件)具有很大的吞吐量提高。对实时文档GET的支持的内部变化意味着索引缓冲区可用的内存更多,垃圾收集时间少得多。

根据您的用例,您可能会看到在提高吞吐量的25%至80%之间。

Ingest节点

  向Elasticsearch添加数据更简单了。Logstash是一个强大的工具,而一些较小的用户只需要过滤器,不需要它所提供的众多路由选项。因此,Elastic将一些最流行的Logstash过滤器(如grok、split)直接在Elasticsearch中实现为处理器。多个处理器可以组合成一个管道,在索引时应用到文档上。

Painless脚本

  Elasticsearch中很多地方用到了脚本,而出于安全考虑,脚本在默认情况下是禁用的,这令人相当失望。为此,Elastic开发了一种新的脚本语言Painless。该语言更快、更安全,而且默认是启用的。不仅如此,它的执行速度是Groovy的4倍,而且正在变得更快。Painless已经成为默认脚本语言,而Groovy、Javascript和Python都遭到弃用。要了解有关这门新语言的更多信息,请点击这里。

新数据结构

  Lucene 6带来了一个新的Points 数据结构K-D树,用于存储数值型和地理位置字段,彻底改变了数值型值的索引和搜索方式。基准测试表明,Points将查询速度提升了36%,将索引速度提升了71%,而占用的磁盘和内存空间分别减少了66%和85%(参见“在5.0中搜索数值”)。

搜索和聚合

  借助即时聚合,Kibana图表生成速度显著提升。Elastic用一年的时间对搜索API进行了重构,Elasticsearch现在可以更巧妙地执行范围查询,只针对已经发生变化的索引重新计算聚合,而不是针对每个查询从头开始重新计算。在搜索方面,默认的相关性计算已经由TF/IDF换成了更先进的BM25。补全建议程序经过了完全重写,将已删除的文档也考虑了进来。

更友好

  Elasticsearch 5.0更安全、更易用。他们采用了“尽早提示”的方法。如果出现了问题,则新版本会及早给出提示。例如,Elasticsearch 5.0会严格验证设置。如果它不能识别某项设置的值,就会给出提示和建议。不仅如此,集群和索引设置现在可以通过null进行解除。此外,还有其他的一些改进,例如,rollover和shrink API启用了一种新的模式来管理基于时间的索引,引入新的cluster-allocation-explain API,简化索引创建。

弹性

  Elasticsearch分布式模型的每一部分都被分解、重构和简化,提升了可靠性。集群状态更新现在会等待集群中的所有节点确认。如果一个“复制片(replica shard)”被“主片(primary)”标记为失败,则主片会等待“主节点(master)”的响应。索引现在使用数据路径中的UUID,而不是索引名,避免了命名冲突。另外,Elasticsearch现在进行启动检查,确保系统配置没有问题。配置比较麻烦,但如果只是试用,开发人员也可以选择localhost-only模式,避免繁琐的配置。另外,新版本还增加了断路器及其他一些软限制,限制请求使用的内存大小,保护集群免受恶意用户攻击。
  此外,该版本还提供了一个底层的Java REST/HTTP客户端,可以用于监听、日志记录、请求轮询、故障节点重试等。它使用Java 7,将依赖降到了最低,比Transport客户端的依赖冲突少。而在基准测试中,它的性能并不输于Transport客户端。不过,这是一个底层客户端,目前还没有提供任何查询构建器或辅助器。它的输入参数和输出结果都是JSON。
  需要注意的是,该版本引入了许多破坏性更改,好在他们提供了一个迁移辅助插件,可以帮助开发人员从Elasticsearch 2.3.x/2.4.x迁移到Elasticsearch 5.0。如果是从更早的Elasticsearch版本向最新的5.0版本迁移,则请查阅升级文档。

Java REST客户端

经过多年的等待,我们终于发布了一个低级的Java HTTP / REST客户端。它提供了一个简单的HTTP客户端,具有最少的依赖关系,可以处理嗅探,记录,循环请求,并重试节点故障。它使用的REST层历史上比Java API更稳定,这意味着它可以跨越升级使用,甚至可能在主要版本之间进行升级。它与Java 7一起工作,并且具有最小的依赖性,导致比传输客户端更少的依赖冲突。它只是HTTP,因此可以像所有其他HTTP客户端一样进行防火墙/代理。在我们的基准测试中,Java REST客户端 与Transport客户端的功能类似。

请注意,这是一个低级客户端。在这个阶段,我们不提供任何可以在IDE中自动完成的查询构建器或帮助器。它是JSON-in,JSON-out,由你来构建JSON。开发不会停止在这里 - 我们将添加一个API,它将帮助您构建查询并解析响应。您可以按照问题#19055中的更改进行操作。

迁移助手

Elasticsearch Migration Helper是一个网站插件,可以帮助从Elasticsearch 2.3.x / 2.4.x迁移到Elasticsearch 5.0。它有三个工具:

1
2
3
4
5
6
集群检查
对集群,节点和索引执行一系列检查,并提醒您升级之前需要解决的任何已知问题。
Reindex助手
v2.0.0之前创建的索引需要重新编号,才能在Elasticsearch 5.x中使用。reindex帮助器点击一个按钮升级旧索引。
弃用日志
Elasticsearch附带了一个弃用记录器,每当使用不推荐使用的功能时,它将记录消息。此工具可启用或禁用群集上的弃用日志记录。

官网推荐迁移文档:Instruction for install the Elasticsearch migration helper. )

Elasticsearch 5.0.0 安装需要哪些要求。

Elasticsearch需要依赖Java JDK1.8

Communicative learning:

🐧 Linux shell_ senior operation and maintenance faction: QQ group 459096184 circle (system operation and maintenance - application operation and maintenance - automation operation and maintenance - virtualization technology research, welcome to join)
🐧 BigData-Exchange School:QQ group 521621407 circles (big data Yun Wei) (Hadoop developer) (big data research enthusiasts) welcome to join

Bidata have internal WeChat exchange group, learn from each other, join QQ group has links.