elasticsearch在2.3.5版本中,在写入数据量比较大的时候经常遇到load超高的情况。决定升级到5.1.2看看效果。目前来看升级后机器load有显著降低。
以下记录升级过程中需要注意的一些事情,以及java api和spark api的变化。
升级过程
下载解压
省略
修改jvm参数
修改config/jvm.options
修改机器配置
修改
vm.max_map_count
到262144
以上1sudo sysctl -w vm.max_map_count=270000修改文件描述符大小,将启动es用户的文件描述符大小设置为65536以上
修改
/etc/security/limits.conf
。
升级
从2.3.x升级到5.x.x,不能采用以前的滚动重启方式,必须将整个集群全部停掉,然后升级后重启。
升级过程主要参考Elastic: Full cluster restart upgrade
插件安装
5.0.0以前版本安装插件使用bin/plugin install
,新版本的使用bin/elasticsearch-plugin install
。
kopf
kopf不再支持es 5.0.0及以上版本。可以使用cerebro代替。
elasticsearch sql
github地址: https://github.com/NLPchina/elasticsearch-sql/
|
|
安装elasticsearch-sql UI界面
5.0.0以后,需要单独安装UI界面。
- 安装node js,参考http://www.cnblogs.com/kevin19900306/p/5701281.html
- 下载https://github.com/NLPchina/elasticsearch-sql/releases/download/5.1.2/es-sql-site-standalone.zip,解压
启动
123$ cd site-server$ npm install express --save$ node node-server.js
kibana
新版本的kibana中自带dev tools
,有兴趣可以研究一下xpack
。
代码方面
java
maven依赖:
|
|
升级maven依赖后,会发现之前代码中有一些api已经改变,根据提示进行修改即可。
另外,新版本中添加了rest方式与elasticsearch进行交互。
spark
maven依赖:
|
|
api没有变化。