一、Elasticsearch的安装
(一)前言
年前在公司,因为公司的生产环境使用到了Elasticsearch搜索引擎,所以自己也正好利用这个机会想深入地学习一下Elasticsearch搜索引擎,于是就利用我自己的云服务器对Elasticsearch进行了安装。但在安装的过程中并不一帆风顺,也遇到了种种的小问题。所以自己花费了一些时间梳理了一下安装过程中可能遇到的问题以及如何进行解决,也方便其他朋友后续更快速的安装使用。
(二)安装
-
下载地址
elasticsearch-6.3.2.tar.gz 我安装的就是6.3.2版本,若想下载,请点击此处寻找6.3.2版本即可 -
解压安装包
从官网下载elasticsearch-6.3.2.tar.gz完成之后,上传到服务器/soft目录,并通过tar -vxf elasticsearch-6.3.2.tar.gz
shell命令进行解压 -
修改elasticsearch.yml配置文件
vi /soft/elasticsearch-6.3.2/config/elasticsearch.yml
4. 重新分配jvm空间
若未重新分配jvm空间,会报如下内存不足错误:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
vi /usr/local/elasticsearch-6.3.2/config/jvm.options
修改内容如下:(将默认的2g更改为256m)
5. 新建es用户
新建原因:用于elasticsearch-6.3.2安装完成后,切换到es用户下启动elasticsearch
若未建用户,在root下启动会报如下错误:
shell命令
groupadd es
useradd -g es es
chown -R es:es /usr/local/elasticsearch-6.3.2/
6.启动elasticsearch
vi /usr/local/elasticsearch-6.3.2/bin/
./elasticsearch(后台启动 ./elasticsearch -d)
成功标志:
测试是否成功 curl -X GET http://ip:9200
浏览器地址栏访问elasticsearch
注意
外网浏览器无法访问服务器中的ElasticSearch,多数为以下几点原因:
1.浏览器地址栏访问ip是内网ip地址
2.没有关闭服务器中的防火墙
3.或者不关闭防火墙,开启9200端口
解决办法:
1.若为原因一导致,则须将内网ip改成公网ip进行访问
2.若为原因二导致,则须关闭防火墙
说明
Linux中有两种防火墙软件,CentOS 7.0以上使用的是firewall,CentOS 7.0以下使用的是iptables,因为我的服务器使用的是CentOS 7.6,所以我使用的是firewall。
Firewall
·先查看防火墙状态:
systemctl status firewalld
·若防火墙开启,则须关闭防火墙:
systemctl stop firewalld
·开放端口(修改后需要重启防火墙方可生效):
- 不关闭防火墙,也可选择开放9200端口(同上二选一)
firewall-cmd --zone=public --add-port=9200/tcp --permanent
·重启防火墙:
firewall-cmd --reload