elasticsearch5.0在Windows和linux环境下启动问题及解决方案

本文介绍了在从Elasticsearch 2.3.5升级到5.0版本过程中遇到的问题及解决方案。在Windows环境下,启动时无需start参数;在Linux上,需要修改包括移除start参数、更换日志配置、升级JDK、以root权限运行、处理不支持的配置、拷贝modules目录以及绕过文件数和线程数检查等步骤。完成这些修改并重新打包后,Elasticsearch 5.0可在Linux环境下正常启动。

elasticsearch5.0正式版已经发布了,看他的修改内容比较多,性能相关的提升很大,我们就打算做一次升级(此次升级我们是从2.3.5的空数据版本升级到5.0版本,如果是有数据可能会有更多的问题,此处咱不讨论有数据的升级了,后续再讨论)。

1.首先在Windows环境下eclipse运行elasticsearch5.0,需要修改的内容可以参照:elasticsearch2.0在Windows环境启动问题及解决方案,不同的地方就是不需要start参数了。

2.在linux环境下启动,升级过程中修改内容如下:

(1)首先去掉start参数。

(2)删除logging.yml,用log4j2.properties来替换了。

(3)同样需要升级jdk版本。

(4)一般有的情况下需要root账户运行(我就在root账户下运行的)需要修改代码如下。在Bootstrap类中的initializeNatives方法:

// check if the user is running as root, and bail
        if (Natives.definitelyRunningAsRoot()) {
            if (Boolean.parseBoolean(System.getProperty("es.insecure.allow.root"))) {
                logger.warn("running as ROOT user. this is a bad idea!");
            } else {
                throw new RuntimeException("don't run elasticsearch as root.");
            }
//            throw new RuntimeException("can not run elasticsearch as root");
        }
增加:es.insecure.allow.root,在启动的时候指定:-Des.insecure.allow.root=true即可root运行了。

(5)需要删除相关配置,有些配置在5.0中已经不支持了,这个在启动的日志中会有很详细的报错信息,根据此修改就行。

(6)另外需要把5.0版本下面的modules目录拷贝过去,否则也启动不起来。

(7)另外root账户启动还会去检查最大文件数,最大线程数检查,我直接修改代码不让其检查了,注释掉了。

以上休息修改好,重新打包,即可在linux环境下运行,打包方法见:elasticsearch5.0打包

有问题的朋友可以互相讨论。。



评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值