1、首先,需要正确安装jdk。此处,有个坑需要避免,由于ES是不能在root用户下进行操作启动的,如果一开始就把jdk安装在/root/software/之类的root用户的目录下的话,后续会导致ES无法正常启动。这里,有个伏笔,后续的内容里,会将此处的坑点,做一个详细的描述。另外,将后续需要使用的相关安装软件包都上传到software-packages目录下,以便于后续的使用。
1-1、确保jdk的正确安装
1-2、将相关的软件包都正确上传至software-parckages目录下
2、解压elasticsearch-6.8.6.tar.gz压缩包,并将解压后的文件移动到/usr/local/目录下
3、对elasticsearch-6.8.6/config中的配置文件做修改
3-1-、Cluster
cluster.name: imooc-elasticsearch
3-2、Node
node.name: es-node-1
3-3、Paths
回到/usr/local/elasticsearch-6.8.6/目录下,新建data目录
mkdir data
path.data: /usr/local/elasticsearch-6.8.6/data
path.logs: /usr/local/elasticsearch-6.8.6/data
3-4、Network
开放访问IP限制
network.host: 0.0.0.0
4、修改/usr/local/elasticsearch-6.8.6/config中的jvm.options
将-Xms1g和-Xmx1g都做一下相应的修改调整
-Xms256m
-Xmx256m
5、新增esuser用户,并将/usr/local/elasticsearch-6.8.6/目录的所有者修改为esuser
useradd esuser
chown -R esuser:esuser /usr/local/elasticsearch-6.8.6/
6、切换至esuser用户后,尝试启动ES
进入/usr/local/elasticsearch-6.8.6/bin目录启动ES
6-1、此处,就遇到我这边一开始说到的,由于jdk安装位置的问题,导致esuser这边在启动ES的时候遇到了问题。
于是乎,我这边首先得调整一下,切换为root用户后,将jdk的安装位置修改到/usr/local/目录下
同时,将/etc/profile中的环境变量配置也做一下调整修改
source /etc/profile
6-2、再次切换为esuser来启动ES后,还是遇到了启动报错问题,如下:
解决方案:
切换为root用户后
1、修改配置文件/etc/security/limits.conf
添加以下的配置项:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
2、 修改配置文件/etc/sysctl.conf
vm.max_map_count=262145
刷新一下修改的配置文件
sysctl -p
再次切换为esuser来启动ES后台运行,并使用jps命令来查看进程号
./bin/elasticsearch -d
jps
至此,可以通过浏览器来看到,ES安装成功了。