elasticsearch坑爹二三事之——程序启动时的配置文件位置 篇

elasticsearch坑爹二三事之——程序启动时的配置文件位置 篇

因为要实现安装自动化,所以在安装某个大型系统的elasticsearch 组件的时候用到了如下安装脚本


但是安装完成之后无论怎么查询,cluster.name都是奇怪的:


讲道理我已经用sed命令配置文件中的cluster.name字段替换了,但是为什么程序起来之后还是会使用XXX_ES_CLUSTER_NAME这个默认名称呢?

后来才发现,问题出在了倒数第二句 /usr/local/elasticsearch/bin/elasticsearch -d这句话,这句话在执行的时候,当前的路径下是存在了一个elasticsearch.yml的,所以es不再使用位于/usr/local/elasticsearch/config下面的配置文件,而是使用了当前目录下的配置文件,所以启动之后cluster.name一直显示不对。

解决方法就是启动之前,将当前目录下的配置文件删掉就好了:

修改后的安装脚本是:

#!/bin/shecho "begin start elasticsearch ..."cur_dir=$(pwd)# unzip unzip $cur_dir/elasticsearch-1.4.4.zip# copy yml from current dir to configecho "y"|cp -f elasticsearch.yml $cur_dir/elasticsearch-1.4.4/config# reset cluster name to config filesed -i "s/XXX_ES_CLUSTER_NAME/es$RANDOM$RANDOM/g" $cur_dir/elasticsearch-1.4.4/config/elasticsearch.yml# move to usr /localmv $cur_dir/elasticsearch-1.4.4 /usr/local/elasticsearchcat /usr/local/elasticsearch/config/elasticsearch.ymlsleep 10s# delete the yml file in current dirrm -f elasticsearch.yml/usr/local/elasticsearch/bin/elasticsearch -decho "elasticsearch start success!"


elasticsearch.yml中存在:

其中的XXX_ES_CLUSTER_NAME是为了替换占位用的,替换成了类似于随机字符的东西,防止多台局域网内的ES形成集群(有特殊需求)。


关键词:

elasticsearch随机指定cluster.name

elasticsearch局域网内防止形成集群

elasticsearch执行备份时提示文件无法共享

elasticsearch配置文件设置无效

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部