阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ElasticSearch2.3/2.4升级到ElasticSearch5.0

471次阅读
没有评论

共计 6096 个字符,预计需要花费 16 分钟才能阅读完成。

注意最好用 elasticsaerch-migration 跑一下注意事项,我这里是抱着丢数据 index 的目的来升级的。

近日,Elastic 在官方博客中宣布,Elasticsearch 5.0 正式发布。该版本基于 Lucene 6.2.0,已经在 Elastic Cloud 上完成了部署。据称,这是迄今为止最快、最安全、最易用的版本。

Elasticsearch 5.0 带来了许多增强功能和新特性,主要包括:

索引性能:得益于多项改进,其中包括更好的数值型数据结构,索引吞吐量大幅提升。根据应用场景的不同,索引吞吐量提升在 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 版本迁移,则请查阅升级文档。

1,卸载原软件安装新软件

 cd /usr/local/src

 rpm -e elasticsearch

 rpm -e kibana

 rpm -ivh elasticsearch-5.0.0.rpm kibana-5.0.0-x86_64.rpm

2,大概看了下配置文件没什么改动就直接用原来的

 diff elasticsearch.yml elasticsearch.yml.rpmsave

 mv elasticsearch.yml elasticsearch.yml.default

 cp -f elasticsearch.yml.rpmsave elasticsearch.yml

 chown elasticsearch:elasticsearch /etc/elasticsearch/elasticsearch.yml

3,根据官网建议添加了如下配置到 elasticsearc.yml 主配置文件

 http.cors.enabled: true

 http.cors.allow-origin: “*”

4,启动新的 elasticsearch

启动过程一直失败,通过查看错误日志发现如下问题总结如下:

问题一

[2016-11-07T11:37:54,191][WARN][o.e.b.JNANatives] Unable to lock JVM Memory: error=12, reason=Cannot allocate memory

[2016-11-07T11:37:54,191][WARN][o.e.b.JNANatives] This can result in part of the JVM being swapped out.

[2016-11-07T11:37:54,191][WARN][o.e.b.JNANatives] Increase RLIMIT_MEMLOCK, soft limit: 65536, hard limit: 65536

[2016-11-07T11:37:54,191][WARN][o.e.b.JNANatives] These can be adjusted by modifying /etc/security/limits.conf, for example:

        # allow user ‘elasticsearch’ mlockall

        elasticsearch soft memlock unlimited

        elasticsearch hard memlock unlimited

解决方法:

/etc/security/limits.conf

elasticsearch  soft  memlock  unlimited

elasticsearch  hard  memlock  unlimited

问题二

Found index level settings on node level configuration.

Since elasticsearch 5.x index level settings can NOT be set on the nodes

configuration like the elasticsearch.yaml, in system properties or command line

arguments.In order to upgrade all indices the settings must be updated via the

/${index}/_settings API. Unless all settings are dynamic all indices must be closed

in order to apply the upgradeIndices created in the future should use index templates

to set default values.

解决方法:

注释主配置文件里面的,官方建议生成索引时再设置

# index.number_of_shards: 5

# index.number_of_replicas: 1

Please ensure all required values are updated on all indices by executing:

curl -XPUT ‘http://localhost:9200/_all/_settings?preserve_existing=true’ -d ‘{

  “index.number_of_replicas” : “1”,

  “index.number_of_shards” : “10”

}’

问题三

java.lang.IllegalArgumentException: unknown setting [node.rack] please check that any required plugins are installed, or check the breaking changes documentation for removed settings

解决方法:

这个是 diff 时唯一不同的地方,至于为啥这样改官网有介绍

# node.rack: r1

 node.attr.rack: r1

 

问题四

[2016-11-07T12:26:05,957][ERROR][o.e.b.Bootstrap] Exception

java.lang.IllegalArgumentException: unknown setting [script.indexed] did you mean any of [script.inline, script.ingest]?

解决方法:

目前我注释了,这个应该是语法错误,后续再查官网

 #script.inline: true

 #script.indexed: true

 

问题五,

max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]

max number of threads [1024] for user [elasticsearch] likely too low, increase to at least [2048]

解决方法:

报错信息直接提示了修改 limits.conf 的相关参数

elasticsearch  soft  nofile  65536

elasticsearch  hard  nofile  131072

elasticsearch  soft  nproc    2048

elasticsearch  hard  nproc    4096

5,优化 elasticsearch 配置文件

 grep ‘Xm’ /etc/elasticsearch/jvm.options

## -Xms4g

## -Xmx4g

# Xms represents the initial size of total heap space

# Xmx represents the maximum size of total heap space

-Xms20g

-Xmx20g

6,logstash 安装文件位置有变动

/usr/share/logstash/

启动

bin/logstash –path.settings /etc/logstash/logstash.yml

配置 logstash-input-kafka 时报错

[2016-11-11T11:17:35,740][ERROR][logstash.inputs.kafka] Unknown setting ‘zk_connect’ for kafka

[2016-11-11T11:17:35,742][ERROR][logstash.inputs.kafka] Unknown setting ‘topic_id’ for kafka

[2016-11-11T11:17:35,742][ERROR][logstash.inputs.kafka] Unknown setting ‘reset_beginning’ for kafka

检查语法没有错误

vim /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-5.0.5/DEVELOPER.md

进排查发现是缺少依赖

* Apache Kafka version 0.8.1.1

* jruby-kafka library(这个缺乏导致,坑爹 rpm 安装的 logstash5.0 竟然缺东西)

7,kibana 安装配置等变动不大

8,filebat 配置精简不少

Linux 上安装部署 ElasticSearch 全程记录  http://www.linuxidc.com/Linux/2015-09/123241.htm

Elasticsearch 安装使用教程 http://www.linuxidc.com/Linux/2015-02/113615.htm

ElasticSearch 配置文件译文解析 http://www.linuxidc.com/Linux/2015-02/114244.htm

ElasticSearch 集群搭建实例  http://www.linuxidc.com/Linux/2015-02/114243.htm

分布式搜索 ElasticSearch 单机与服务器环境搭建  http://www.linuxidc.com/Linux/2012-05/60787.htm

ElasticSearch 的工作机制  http://www.linuxidc.com/Linux/2014-11/109922.htm 

Elasticsearch 的安装,运行和基本配置 http://www.linuxidc.com/Linux/2016-07/133057.htm

使用 Elasticsearch + Logstash + Kibana 搭建日志集中分析平台实践  http://www.linuxidc.com/Linux/2015-12/126587.htm

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana) http://www.linuxidc.com/Linux/2016-06/132618.htm

Elasticsearch1.7 升级到 2.3 实践总结  http://www.linuxidc.com/Linux/2016-11/137282.htm

ElasticSearch 的详细介绍 :请点这里
ElasticSearch 的下载地址 :请点这里 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138217.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6096字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7980030
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...