CentOS7安装Elasticsearch5.5.2
下载安装包
下载地址为:Elasticsearch 5.5.2 | Elastic,下载tar版本的安装包
安装
安装jre1.8
运行Elasticsearch5.5.2需要jre1.8及以上,安装jre过程查看博客:CentOS7 安装和配置 jre1.8 | LeDao 的博客 (zoutl.cn)
上传到Linux服务器
在/home目录下创建一个名称为es的目录,然后将下载好的文件上传到这个目录
解压安装包
通过以下命令解压完成后,就已经安装完成了
1 | tar -zxvf elasticsearch-5.5.2.tar.gz |
运行
新建用户并赋予权限
新建一个用户elastic
专门运行Elasticsearch,因为root用户一般不用来运行Elasticsearch的,输入以下三条命令:
1 | #新建一个名为elastic的用户 |
第一次运行
输入以下命令运行Elasticsearch:
1 | sh /home/es/elasticsearch-5.5.2/bin/elasticsearch |
可能出现的报错
报错1
之所以会报错,是因为Elasticsearch需要的运行内存过大(Elasticsearch默认需要的运行内存为2G,而我的虚拟机的运行内存也是2G,所以这个虚拟机是运行不了Elasticsearch的),解决办法:修改Elasticsearch默认需要的运行内存,该配置文件在/home/es/elasticsearch-5.5.2/config
目录下,文件名称为jvm.options
,我修改为128M(内存过小Elasticsearch会自动挂掉,所以还是将虚拟机内存修改为4G比较好)
报错2
关于[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
的解决办法如下:(每个进程最大同时打开文件数太小)
切换到root用户
修改/etc/security/limits.conf文件,添加或修改如下行:
1 | hard nofile 65536 |
然后再切换到elastic用户,一定要切换,不然上面的配置不会立即生效,查看当前每个进程最大同时打开文件数的两个命令如下:
1 | ulimit -Hn |
关于[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
的解决办法如下:
切换root用户
方法一:输入命令,不推荐使用此方法,此方法只是临时有效,系统重启后就会失效
1
sudo sysctl -w vm.max_map_count=2621441
方法二:修改/etc/sysctl.conf文件,增加配置
vm.max_map_count=262144
,保存后要执行下面一条命令让配置生效,推荐使用此方法,系统重启后也有效1
sudo sysctl -p /etc/sysctl.conf
再次运行
切换到elastic用户,再次输入以下命令运行Elasticsearch
1 | sh /home/es/elasticsearch-5.5.2/bin/elasticsearch |
上面的命令是在前台运行Elasticsearch,一般都是在后台运行以方便进行其它操作,停止Elasticsearch使用快捷键CTRL+C
,后台运行的命令如下:(也就是在之前的命令后面加上-d
)
1 | sh /home/es/elasticsearch-5.5.2/bin/elasticsearch -d |
使用以下命令查看Elasticsearch是否启动成功,出现下图的信息说明启动成功
1 | ps -ef | grep elasticsearch |
验证服务是否正常
验证服务是否正常运行,执行以下命令:
1 | curl http://localhost:9200 |
如果正常就会出现下图的信息
允许外网连接
修改配置
在/home/es/elasticsearch-5.5.2/config/elasticsearch.yml中找到并修改下图的配置
重启Elasticsearch服务
查看Elasticsearch服务的进程号
1
ps -ef | grep elasticsearch
关闭进程
1
kill -9 2328
再次启动Elasticsearch
1
sh /home/es/elasticsearch-5.5.2/bin/elasticsearch -d
关闭防火墙
通过以下两条命令关闭防火墙并且设置开机不要启动
1 | #关闭 |
在电脑上的浏览器输入
虚拟机IP:9200
,出现下图的结果说明外网连接成功
PS.
如果修改了配置不生效,那就切换一下当前身份:在root身份修改了配置后,再将当前身份切换到elastic身份