记一次ES安装的采坑记录
今天心血来潮,想玩玩ES(elasticSearch),我使用的操作系统版本是:CentOS7.4,ES版本是:6.3.2,Java版本是:8u181。具体的下载步骤这里不再做详细介绍。
安装完Jdk后开始安装es。
第一步:在/usr下新建文件夹:/es。将es的压缩包解压到/usr/es下,使用命令
$ tar -zxcv elasticsearch-6.3.2.tar.gz
解压此文件,得到:elasticsearch-6.3.2文件夹。
第二步:进入/usr/es/elasticsearch-6.3.2/bin目录下,执行:
$ ./elasticsearch
不出意外的情况下会报错:
意思是无法使用root用户启动。那我们就新建个es用户并设置密码:
$ useradd es
$ passwd 123456
创建完成之后我们再进入之前的/usr/es/elasticsearch-6.3.2/bin路径下,执行
$ ./elasticsearch
可能还是会报错:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
第三步: 切回root用户
$ su root
ulimit -Hn 查看硬限制,发现是4096
执行:
$ vim /etc/security/limits.conf
加上两行:
* soft nofile 65536
* hard nofile 65536
退出当前用户,再次登录,查看设置: ulimit -Hn
发现参数变成了 65536。
问题:
max number of threads [3895] for user [elk] is too low, increase to at least [4096]
$ vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nproc 1024
修改为
* soft nproc 2048
第四步:重启系统,进入es用户,进入/usr/es/elasticsearch-6.3.2/bin路径下,执行启动命令:./elasticsearch
服务可以正常启动。
使用命令:
$ curl localhost:9200
会输出下面的内容:
说明es启动成功。
第五步:配置外网ip可以访问。
vim /usr/es/elasticsearch-6.3.2/elasticsearch.yml编辑配置文件,修改:
修改完成之后记得看下防火墙的状态:
$ systemctl status firewalld
如果是下面这样的:
那就说明防火墙是启动状态,我们需要关闭它,执行:
$ systemctl stop firewalld
执行完毕之后,再次查看防火墙状态:
这样就成功关闭了防火墙。
我们在浏览器中输入服务器的ip:9200,会得到下面的结果:
表示我们的ES服务启动成功~