CAT API changes
使用Accept报头指定响应的media类型
在精简接口API的返回media类型中,以前的版本是通过Accept头的Content-type字段来确定的,这和HTTP规范中的含义不一致,因此新版本删除了这一特性。
_cat/nodes接口中host字段被移除。因为这个字段和ip字段的内容是一样的。
在recovery接口中增加了bytes_recovered和files_recovered字段,分别表示已恢复的字节数和文件的总数。
total_files 和total_bytes字段分别改名成为files_total和bytes_total。
translog字段改名为translog_ops_recovered,translog_total改名为translog_ops,translog_percent改名为translog_ops_percent,这三个字段的简称分别是tor,to,top。
Changes to cat nodes API
在nodes接口中,m代表master,d代码data,i代表ingest节点类型,一个节点可以同时有多个角色,当节点没有任何角色的时候表示这个节点是一个协调角色。当这个节点是集群的主节点的时候,master列会显示*。
Packaging
打包的变化
Apt/yum安装下载地址发生了变化,从https://packages.elastic.co到 https://artifacts.elastic.co/.
新版本启动时间会变长。在5.0版本中JVM启动参数增加了-XX:+AlwaysPreTouch标志,这个选项将在启动的时候占用JVM堆的所有内存页,这样在GC垃圾回收时间减少内存页体提交的机会。但这将增加ES的启动时间,同时增加ES的初始化内存空间。
JVM options
JAVA虚拟机选择参数配置被放在了一个新的配置文件jvm.options中。
这意味着以前的通过环境变量的设置参数都被取消了,包括ES_MIN_MEM, ES_MAX_MEM, ES_HEAP_SIZE, ES_HEAP_NEWSIZE, ES_DIRECT_SIZE, ES_USE_IPV4, ES_GC_OPTS, ES_GC_LOG_FILE, and JAVA_OPTS.
当通过解压ES包的时候,默认的位置在config/jvm.options中,通过Debain或者RPM包安装后的默认配置路径在/etc/elasticsearch/jvm.options中,也可以通过设置环境变量ES_JVM_OPTIONS来改变文件的路径。
用于Windows服务的线程堆栈大小
在之前安装成Windows服务时,安装脚本会配置线程的堆栈大小(这是服务守护进程需要),但现在由于配置被移到了jvm.options文件中,则安装脚本不在配置线程的堆栈大小。在新版本中,在安装成Windows服务前需要修改jvm.options文件,在32位系统中添加 -Xss320k参数,在64位系统中添加-Xss1m参数。
/bin/bash文件被依赖
之前的版本,用来启动ES和运行插件的命令脚本依赖Bourne-compatible shell。在5.0中,通过RPM和Debian包安装需要依赖bash shell,bash shell的默认路径是/bin/bash。
在之前配置ES环境变量有两种方法,1是通过占位符语法${env.ENV_VAR_NAME},2是没有env前缀的语法 ${ENV_VAR_NAME},现在只保留了第二种写法,第一种写法被移除。
同样,通过JVM系统参数设置的ES配置也被取消。
在之前的版本如果遇到内存溢出或者其他致命错误则ES不会停止工作,但这样会可能会产生比较严重的问题,在5.0后,当遇到这些问题时候,会从新启动ES。
本文由赛克 蓝德(secisland)原创,转载请标明作者和出处。