设为首页 收藏本站
查看: 3352|回复: 0

[经验分享] Elasticsearch2.X升级至5.X问题汇总

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-21 11:01:15 | 显示全部楼层 |阅读模式
Elasticsearch2.X升级至5.X问题汇总
问题描述

Elasticsearch 5.0已正式发布一段时间
1. Lucene升级到了6.2,搜索方面会有巨大的性能提升
2. 优化Indexing过程,性能会更加稳定
3. 新增Ingest Node,用于数据转换,相当于Elastic Search里内置了一个Logstash。或许有比bulk更好的Indexing性能
排查思路

启动过程一直失败,通过查看错误日志,发现如下问题总结在解决方案中
解决方案

首先贴上完整升级流程:
1、按顺序关闭kibana logstash elasticsearch
2、由于新版本ES不支持任何插件,所以清除该目录下的所有插件/usr/share/elasticsearch/plugins
3、备份es kibana 等配置文件
4、更新es
执行rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
增加yum源
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
5、ES变更三处
用最新的启动程序覆盖:/etc/init.d/elasticsearch
修改内存:/etc/elasticsearch/jvm.options
切记用最新的配置文件,并在其基础上恢复旧的配置:/etc/elasticsearch/elasticsearch.yml
6、更新部署kibana,实为直接解压最新安装包即可,并修改yml配置
7、修改limits.conf的相关参数,详情在问题集里
8、按顺序启动 elasticsearch logstash kibana ,进行数据索引加载完成更新

问题集合
解决方法

1
Unable to lock JVM Memory: error=12, reason=Cannot allocate memory
This can result in part of the JVM being swapped out.
Increase RLIMIT_MEMLOCK, soft limit: 65536, hard limit: 65536
These can be adjusted by modifying /etc/security/limits.conf
/etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

2Since 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"
}'

3[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

4max 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
Copy2.X的elasticsearch.yml到5.0里,大量报错
1)踩了个"node settings must not contain any index level settings",报错提示是所有index配置(例如 index.mapper.dynamic)都需要在ES启动之后通过接口来改。
2)script开头的配置项也没了。
3)一些配置项的名字改了,例如 bootstrap.mlockall 改成了 bootstrap.memory_lock。
建议直接在5.0的elasticsearch.yml上面改配置!
另外./config/ 里面新增了 jvm.options 和 log4j2.properties,取消了logging.yml。关于内存的配置可以直接在 jvm.options 里面设,不需要折腾环境变量了。

6动报错,提示调高JVM线程数限制
bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
vim /etc/sysctl.conf
vm.max_map_count=262144 #添加这一行

7搜索报错,默认Scripting语言从groovy改成了painless这个坑藏得好深,困惑了一段时间...最后改query的lang字段为painless就过了

85.x的es,不再使用索引名称作为目录了,而是hash值
原来:Feb 7 00:05 logstash-www-2017.02.07
现在:Feb 7 11:24 ZpSCDUgGR2KfaHmu_fgx_A

9

关于ES插件的问题
现在ES所有插件都不能安装了,否则会导致启动报错
现在必须使用官方推荐的X-Pack作为集成在kibana上的web展示管理插件
一直以来,Elastic Search团队提供的付费插件与服务都感觉不痛不痒。新发布的X-Pack把所有付费痛点打包到一起了,包括权限控制、更好的数据可视化系统、经常被提出的报表系统等,这是Elastic Search商业化非常重要的一步(另一步是Elastic Cloud)
但X-Pack需要进行注册认证,否则只能使用1个月,目前推荐的做法是在es配置文件添加 xpack.security.enabled: false



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-403218-1-1.html 上篇帖子: elasticsearch-5.5.1安装head客户端 下篇帖子: ELK(elasticsearch+logstash+kibana)开源日志分析平台搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表