随手笔记:es 2.*和5.*的配置差别

原创
2017/03/02 21:25
阅读数 290

最近抽空也找来了 es5.2.0,项目是暂时不会用到,算是自己实践一下。

其实5.*和上一个版本的变化,官网有专门的描述,地址如下:
https://www.elastic.co/guide/en/elasticsearch/reference/5.1/breaking_50_settings_changes.html

专注过es的同学肯定知道,es的资料,官网才是最靠谱的。至于看不e文,其实这都不是问题,办法都是有的,关键在于你想不想真的好好研究。

 

之前2.*主要使用的是2.2.0,linux和win os上都搞过,单点和集群也比较熟悉。之前也有文章《菜鸟学ElasticSearch:了解一下基本的配置》专门介绍过2.*的配置,有兴趣的朋友可以翻一下。其实es的配置真心简单,横向扩展也很方便,关键配置就那么几个,熟悉后就可以轻车熟路了。

 

这次打算尝试一下5.*的安装和部署,主要是听说5.*的改进很多,变化很大,于是打算先熟悉下部署,为以后真的要进行切换铺铺路。部署方法其实也是继续参照原来2.*的方式,下载zip包,然后在本机解压,然后修改配置文件并启动。经过一番踩坑后,服务基本顺利的启动,也很顺利装好了 pinyin,cerebro等常用插件,基本没有碰到各种奇葩问题,算是比较顺利。现在讲部署过程中遇到的一些配置变更一一列出,供大家参考。

注明:部署的环境为win 7 64bit OS,jdk需要1.8的支持(可以找个jdk1.8的解压版,在es的启动文件里指定java_home),无其他特殊环境。

 

1、index的相关设置将不在elasticsearch.yml中定义
例如:
#分片数
index.number_of_shards: 1
#副本数
index.number_of_replicas: 0
#索引更新间隔
index.refresh_interval: 30S
上述设置,从5.*版本开始,将不能再yml配置文件中定义,否则会提示

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 clo
sed in order to apply the upgradeIndices created in the future should use index templates to set default values.

意思就是,你要么在template(模板)里去弄,要么通过api去设定。


2、bootstrap.mlockall 参数剔除
在2.*版本中,bootstrap.mlockall参数的作用为“锁定内存,不让JVM写入swapping,避免降低ES的性能”。
在5.*版本中,该参数名变更为 bootstrap.memory_lock
官方相关说明:
https://www.elastic.co/guide/en/elasticsearch/reference/5.1/setup-configuration-memory.html#mlockall

3、discovery.zen.ping.multicast.enabled 参数变更
在2.*版本中,discovery.zen.ping.multicast.enabled参数的作用为“设置是否打开多播发现节点”
在5.*版本中,该参数被取消
官方相关说明:
https://www.elastic.co/guide/en/elasticsearch/guide/2.x/important-configuration-changes.html#unicast
 

 

以上是在win os下部署启动es5.2时遇到的和之前介绍的2.2版本配置中的不同地方。

下次有空在linux上也试试。根据之前的经验,应该主要配置也和在win OS上的无异,如果有不同的地方,我再继续在此补充。

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部