最近在学习es,由于自身的虚拟机开发环境是centos 6.5 32位,在安装过程中碰到了许多问题。在网上看了很多方法,尝试后都以失败告终。在2天的努力下,终于安装成功!(网上教程大部分系统是64位的,因此特地分享一下32位环境下的安装过程。)

1.安装JAVA

JAVA安装配置过程省略,要注意的是es需要jdk1.8以上。

2.安装ES

尝试从官网下载,不过下载速度不是很满意。推荐大家去国内镜像网站下载。https://thans.cn/mirror/elasticsearch.html

从物理机下载后上传到虚拟机。我本次下载是elasticsearch-6.4.0.tar.gz版本。

下载后进行解压,然后去修改配置

先进入config目录,通过命令vim jvm.options,把内存参数改成:

-Xms512m

-Xmx512m

改好保存退出,再通过命令vim elasticsearch.yml,修改数据和日志目录路径:

path.data: /你的es所在根目录/elasticsearch/data # 数据目录位置

path.logs: /你的es所在根目录/elasticsearch/logs # 日志目录位置

再把绑定的ip改成:

network.host: 0.0.0.0

改好保存退出。

然后去es目录下,创建data和logs两个目录,接着通过命令进入es的bin目录,输入./elasticsearch来运行

第一次尝试运行:

报错:unable to load JNA native support library, native methods will be disabled.(这个错误算是比较常见的错误了,原因可能是系统不对,32位系统装了需要64位才能运行的es的版本,也可能是包的问题,我的测试后是包的问题)

解决方法:进入es的lib目录,先删除 jna-4.5.1.jar(安全起见,还是建议大家备份一下),然后通过命令wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.5.1/jna-4.5.1.jar重新下载一个。再去运行es即可。

第二次尝试运行:

报错:

centos X3650固件版本 centos e325_elasticsearch


解决方法:由于centos版本太低,有个插件用不了,可以修改相关配置禁用这个插件,没有太大影响。进入config目录,修改elasticsearch.yml文件,在文件最下面添加:

bootstrap.system_call_filter: false

第三次尝试运行:

报错:

centos X3650固件版本 centos e325_elasticsearch_02


解决方法:进入config目录,修改elasticsearch.yml文件,在文件最下面添加:

xpack.ml.enabled: false

第四次尝试运行:

报错:

centos X3650固件版本 centos e325_centos X3650固件版本_03


解决方法:这个要去安装的jdk文件下去改,打开你安装的jdk找到里面的jre,进入jre下的lib/i386目录,修改jvm.cfg,找到:

-server KNOWN

-client IF_SERVER_CLASS -server

-minimal KNOWN

调换-server和-client的位置,最后变成上面这样即可。

第五次尝试运行:

没有报错,打开浏览器输入网址:你的虚拟机Ip地址+端口号9200。大功告成!!

centos X3650固件版本 centos e325_JAVA_04