在linux虚拟机安装Elasticsearch遇到的问题及解决方法

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 在linux虚拟机安装Elasticsearch遇到的问题及解决方法[0] unable to load JNA native support library, native methods will be disabled[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536][2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at leas

在linux虚拟机安装Elasticsearch遇到的问题及解决方法

[0] unable to load JNA native support library, native methods will be disabled

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

[3]: JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance

[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk


[0] unable to load JNA native support library, native methods will be disabled

[WARN ][o.e.b.Natives            ] unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86/libjnidispatch.so) not found in resource path ([file:/home/leyou/elasticsearch/lib/jts-core-1.15.0.jar, file:/home/leyou/elasticsearch/lib/elasticsearch-core-6.3.0.jar, file:/home/leyou/elasticsearch/lib/jna-4.5.1.jar, file:/home/leyou/elasticsearch/lib/lucene-analyzers-common-7.3.1.jar, file:/home/leyou/elasticsearch/lib/lucene-spatial-7.3.1.jar, file:/home/leyou/elasticsearch/lib/lucene-queries-7.3.1.jar, file:/home/leyou/elasticsearch/lib/lucene-suggest-7.3.1.jar, file:/home/leyou/elasticsearch/lib/snakeyaml-1.17.jar, file:/home/leyou/elasticsearch/lib/lucene-spatial3d-7.3.1.jar, file:/home/leyou/elasticsearch/lib/lucene-grouping-7.3.1.jar, file:/home/leyou/elasticsearch/lib/elasticsearch-6.3.0.jar, file:/home/leyou/elasticsearch/lib/log4j-api-2.9.1.jar, file:/home/leyou/elasticsearch/lib/t-digest-3.2.jar, file:/home/leyou/elasticsearch/lib/lucene-spatial-extras-7.3.1.jar, file:/home/leyou/elasticsearch/lib/lucene-queryparser-7.3.1.jar, file:/home/leyou/elasticsearch/lib/spatial4j-0.7.jar, file:/home/leyou/elasticsearch/lib/hppc-0.7.1.jar, file:/home/leyou/elasticsearch/lib/jackson-dataformat-smile-2.8.10.jar, file:/home/leyou/elasticsearch/lib/lucene-memory-7.3.1.jar, file:/home/leyou/elasticsearch/lib/lucene-sandbox-7.3.1.jar, file:/home/leyou/elasticsearch/lib/jackson-dataformat-yaml-2.8.10.jar, file:/home/leyou/elasticsearch/lib/elasticsearch-launchers-6.3.0.jar, file:/home/leyou/elasticsearch/lib/jopt-simple-5.0.2.jar, file:/home/leyou/elasticsearch/lib/plugin-cli-6.3.0.jar, file:/home/leyou/elasticsearch/lib/lucene-core-7.3.1.jar, file:/home/leyou/elasticsearch/lib/log4j-1.2-api-2.9.1.jar, file:/home/leyou/elasticsearch/lib/jackson-dataformat-cbor-2.8.10.jar, file:/home/leyou/elasticsearch/lib/lucene-highlighter-7.3.1.jar, file:/home/leyou/elasticsearch/lib/elasticsearch-x-content-6.3.0.jar, file:/home/leyou/elasticsearch/lib/lucene-backward-codecs-7.3.1.jar, file:/home/leyou/elasticsearch/lib/HdrHistogram-2.1.9.jar, file:/home/leyou/elasticsearch/lib/plugin-classloader-6.3.0.jar, file:/home/leyou/elasticsearch/lib/joda-time-2.9.9.jar, file:/home/leyou/elasticsearch/lib/elasticsearch-cli-6.3.0.jar, file:/home/leyou/elasticsearch/lib/log4j-core-2.9.1.jar, file:/home/leyou/elasticsearch/lib/lucene-join-7.3.1.jar, file:/home/leyou/elasticsearch/lib/jackson-core-2.8.10.jar, file:/home/leyou/elasticsearch/lib/lucene-misc-7.3.1.jar, file:/home/leyou/elasticsearch/lib/elasticsearch-secure-sm-6.3.0.jar])
  at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:962) ~[jna-4.5.1.jar:4.5.1 (b0)]
  at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922) ~[jna-4.5.1.jar:4.5.1 (b0)]
  at com.sun.jna.Native.<clinit>(Native.java:190) ~[jna-4.5.1.jar:4.5.1 (b0)]
  at java.lang.Class.forName0(Native Method) ~[?:1.8.0_05]
  at java.lang.Class.forName(Class.java:259) ~[?:1.8.0_05]
  at org.elasticsearch.bootstrap.Natives.<clinit>(Natives.java:45) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.3.0.jar:6.3.0]
  at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) [elasticsearch-6.3.0.jar:6.3.0]
  at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) [elasticsearch-6.3.0.jar:6.3.0]

抛出的异常是说找不到JNA的本地依赖。

解决:

在elasticsearch的安装目录的bin下直接下载需要的JNA jar包

wget https://repo1.maven.org/maven2/net/java/dev/jna/jna/4.5.1/jna-4.5.1.jar

或者把原来的JNA 的jar包删除,在windows下重新下载jna jar包,后上传到elasticsearch的lib文件中。

重新运行: ./elasticsearch


下面提供jna 4.5.1 jar包:

链接:https://pan.baidu.com/s/1ZkO557yf1JC2r-o0ysb1YA

提取码:u86i


运行之后出现新的错误

ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance
[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

编辑 /etc/security/limits.conf,追加以下内容;


soft nofile 65536

hard nofile 65536

此文件修改后需要重新登录用户,才会生效



[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

编辑 /etc/sysctl.conf,追加以下内容:

vm.max_map_count=655360

保存后,执行:

sysctl -p


[3]: JVM is using the client VM [Java HotSpot™ Client VM] but should be using a server VM for the best performance

意思是当前jvm是Java HotSpot Client VM(-client),而应该使用的是Java HotSpot Server VM(-server),前者如其名称,应该适合在客户端使用,后者则适合在服务器环境中使用。

所以只需要从Java HotSpot Client VM(-client)切换到Java HotSpot Server VM(-server)就行。

找到jre目录,切换到该下

cd /usr/local/jdk/jdk1.8.0_05/jre

然后修改 ./lib/i386/jvm.cfg这个文件,把-server KNOWN移到第一行,就是-client上面,保存退出即可。

2.jpg


[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

在 config/elasticsearch.yml 末尾加上一句

bootstrap.system_call_filter: false

重新运行: ./elasticsearch

3.jpg

出现这些信息就是启动成功了。

我这里是要访问 192.168.237.128:9200

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
相关文章
|
26天前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
540 2
|
2月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
2月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
150 5
|
2月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
2月前
|
Ubuntu 安全 Linux
Linux这5款微型发行版,体积小+精简,比win7运行还快,值得安装
以上5款微型发行版体积小且精简,如果你有台旧电脑,不妨试试?
|
2月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。
下一篇
oss教程