问题描述
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 | /etc/security/limits.conf |
2 | Since elasticsearch 5.x index level settings can NOT be set on the nodes | 解决方法: 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", |
3 | [2016-11-07T12:26:05,957][ERROR][o.e.b.Bootstrap ] Exception | 目前我注释了,这个应该是语法错误,后续再查官网 |
4 | max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536] | 报错信息直接提示了修改limits.conf的相关参数 |
5 | Copy2.X的elasticsearch.yml到5.0里,大量报错 | 1)踩了个"node settings must not contain any index level settings",报错提示是所有index配置(例如 index.mapper.dynamic)都需要在ES启动之后通过接口来改。 建议直接在5.0的elasticsearch.yml上面改配置! |
6 | 动报错,提示调高JVM线程数限制 | vim /etc/sysctl.conf vm.max_map_count=262144 #添加这一行 |
7 | 搜索报错,默认Scripting语言从groovy改成了painless | 这个坑藏得好深,困惑了一段时间...最后改query的lang字段为painless就过了 |
8 | 5.x的es,不再使用索引名称作为目录了,而是hash值 | 原来:Feb 7 00:05 logstash-www-2017.02.07 |
9 | 关于ES插件的问题 | 现在ES所有插件都不能安装了,否则会导致启动报错 现在必须使用官方推荐的X-Pack作为集成在kibana上的web展示管理插件 一直以来,Elastic Search团队提供的付费插件与服务都感觉不痛不痒。新发布的X-Pack把所有付费痛点打包到一起了,包括权限控制、更好的数据可视化系统、经常被提出的报表系统等,这是Elastic Search商业化非常重要的一步(另一步是Elastic Cloud) 但X-Pack需要进行注册认证,否则只能使用1个月,目前推荐的做法是在es配置文件添加 xpack.security.enabled: false |