CentOS部署项目时Elasticsearch无法启动

笔者开发了一个社区项目,用到了Elasticsearch作为搜索引擎。开发完成后,在阿里云服务器部署时,出现了ES无法启动的情况,具体如下。


版权声明:本文为博主原创文章,禁止转载
作者博客:codesong.cn
created: 2019-12-30


版本信息

  • 云服务器操作系统:CentOS 7.6
  • Elasticsearch版本:6.4.3
  • 已在阿里云服务器控制台安全组开放9200、9300端口
  • 使用非root用户启动ES,仍无法启动

错误信息

在本地(Windows)能够启动ES并正常运行项目,在CentOS无法启动ES。
向阿里云提交工单联系后,查看端口发现没有9200端口,说明ES服务未启动

防火墙端口

解决方法

在网上查询了多种ES启动失败及报错原因,均与我的情况不一样,没有解决问题。在确定所有操作都是正确的之后,决定尝试更换JDK版本。
当前使用的JDK版本是13(java-latest-openjdk.x86_64),删除后重新安装JDK12,发现ES能够成功启动,问题解决。
总结:ES对Java版本要求比较高,本人使用的ES 6.4.3可以在JDK11、JDK12等版本上运行,但不支持最新的JDK13.

ES安装方法

最后附上本人部署项目时,ES的安装方法及配置:
1.下载ES:

wget -i -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz

2.下载ES中文分词插件:

wget -i -c https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

3.解压安装ES及插件

tar -zvxf elasticsearch-6.4.3.tar.gz -C /opt
unzip -d /opt/elasticsearch-6.4.3/plugins/ik elasticsearch-analysis-ik-6.4.3.zip

4.配置ES

cd /opt/elasticsearch-6.4.3/
cd config/
vim elasticsearch.yml 修改集群名称和路径
vim jvm.options 修改ES内存

5.使用普通用户启动ES

cd /opt
chown -R usergroup1:esuser *   //给普通用户授权
cd /tmp
chown -R usergroup1:esuser *
su - esuser
cd /opt/elasticsearch-6.4.3/
bin/elasticsearch -d            //守护模式后台启动ES

6.测试ES是否启动成功

curl -X GET "localhost:9200/_cat/health?v"

7.其他命令

ps -ef | grep elastis           //查看进程
kill -9 6666                    //关闭进程
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容