环境:

CentOS 7.x
JDK 1.8
ElasticSearch 6.2

安装步骤:

1.配置JDK
1)使用tar -xvf 命令解压jdk压缩包

2)配置环境变量
/etc/profile 中添加以下属性

export JAVA_HOME=/usr/local/jdk1.8.0_101
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 
export PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH

配置完成后测试一下,java -version,如下图,成功。

esxi 没有nat esxi nas_esxi 没有nat

2.安装ElasticSearch

去ES官网下载ES安装包 https://www.elastic.co/downloads/elasticsearch 最新版是6.5.3,本次安装使用的 是6.2.4版本

1)解压ES安装包

使用 tar -zxvf 命令解压安装

2)启动ES

启动ES:./elasticsearch

,但报错

esxi 没有nat esxi nas_安装_02

提示运行时异常,can not run elasticsearch as root ,

也就是说不能用root用户来启动,

解决方式有两种,一个是修改bin/elasticsearch,加上ES_JAVA_OPTS属性:ES_JAVA_OPTS=-Des.insecure.allow.root=true;另一种是运行时加上 -Des.insecure.allow.root=true

我采用第二种,再启动一下,只不过加上上边的属性

esxi 没有nat esxi nas_esxi 没有nat_03


结果还是报错,这次报错是说

D is not a recognized option

3)创建用户
那么对于这个异常,为了安全考虑,我们最好为此创建一个新的用户,来执行启动关闭。
因此,我们先创建一个用户组

groupadd esgroup

然后创建一个用户

useradd esuser -g esgroup -p 123456

然后使用chown命令来让这个文件夹属于这个用户

chown -R esuser:esgroup elasticsearch-6.2.4 ok,我们切换用户,用这个新的用户启动es

esxi 没有nat esxi nas_ElasticSearch安装_04

4)测试
看到了started,我们就正常启动起来了,有几个警告,但没有错了。
启动起来之后,我们就要测试一下是不是正常。
我们都知道ES支持Restful API的,所以说,我们可以使用curl命令跑一下。

curl 127.0.0.1:9200

esxi 没有nat esxi nas_esxi 没有nat_05

如果说能看到上面的JSON数据,那么就是说ES正常启动起来了。
5)远程访问
但在实际运行中,我们还需要实现ES的远程访问。
使用kill 命令停止ES服务

然后进入到 config/elasticsearch.yml文件中

修改network.host 和 http.port

esxi 没有nat esxi nas_ES安装_06


把这个配置文件修改之后,重新启动。

esxi 没有nat esxi nas_esxi 没有nat_07


结果,启动又失败了。首先,我们需要进入到/etc/security/limits.conf文件中加入四项

esxi 没有nat esxi nas_ElasticSearch安装_08

esuser soft nofile 65536
esuser hard nofile 65536
esuser soft nproc  4096
esuser soft nproc  4096

你的用户名叫什么,第一列就写什么

其次,进入到/etc/security/limits.d/20-nproc.conf中,

然后,把‘*‘改成我们的用户,如果最后一行比4096小,需要改到至少4096

esxi 没有nat esxi nas_ElasticSearch安装_09


最后

vi /etc/sysctl.conf
vm.max_map_count=655360

esxi 没有nat esxi nas_ElasticSearch安装_10


执行以下命令生效:sysctl -p关闭防火墙:systemctl stop firewalld.service 再次启动,在windows下显示,成功!!!

esxi 没有nat esxi nas_ES安装_11