Elasticsearch-介绍与安装
介绍
Elasticsearch是一款高扩展的分布式搜索引擎,在很多地方用到。关于它的介绍,网上的文章一大堆,这里我就不重复赘述了。值得一提的是,ES的更新太快了,记得之前为了做项目简单学一点的时候还是6.x, 现在都已经7.x了。
安装
这里关于安装可以跟着官方文档走,以及后面的学习。
准备环境
这里安装环境推荐使用虚拟机安装,然后我们用远程连接服务进行使用。这也是因为es在linux上面能更好的学习使用。
Base
CentOS7
Java 8
Elasticsearch 7.12
MobaXterm
关于MobaXterm连接本地虚拟机的教程,可以看我的另一篇博客。(点击跳转)
这里需要注意的是,我们依赖于JDK1.8+的环境,不然es不能跑起来。
安装方式
(1)拷贝压缩包安装
我们可以先下载安装包,然后拷贝到我们的虚拟机进行解压安装。拷贝文件的传输可以使用MobaXterm直接进行传输。至于压缩包,官网可以直接下载,建议选择当时的最新版进行安装。
(2)使用命令进行安装
这里就是按照官网进行安装了。
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
然后自己选择目录进行解压即可
tar -xvf elasticsearch-7.12.0-linux-x86_64.tar.gz
解压之后我们的目录结构如下:
这里简单介绍一下主要的目录
bin #可执行文件的存放目录
config #配置文件的存放目录
data #默认的数据存放目录
lib #运行时依赖的库
logs #运行时日志文件
modules #运行时依赖的模块
plugins #官方或者第三方插件
启动测试
进入到我们的bin目录下。我们要使用非root权限进行启动,不然会报错。这是因为如果是以root权限来执行elasticsearch,它可以接收用户输入的脚本并且执行,所以出于系统安全的考虑是不被允许的。
./elasticsearch
成功动画
这里我们可以再打开一个窗口,进行es的客户端展示。
curl http://localhost:9200
远程连接ES
ElasticSearch服务默认启动是受保护的,只允许本地客户端连接,如果想要通过远程客户端访问,必须开启远程连接。而开启远程之后,我们就可以直接虚拟机之后的浏览器直接访问客户端了。
(1)我们进入到config目录下,修改elasticsearch.yml 文件,然后保存退出。
vim elasticsearch.yml
#将原来network修改为以下配置:
network.host: 0.0.0.0
(2)然后我们重新启动es。但是发现报错了....
这里上网查了一下,解决方法如下:
- 解决错误[1]的方法。
sudo vim /etc/security/limits.conf #必须使用root权限才可以进行修改
在该文件结尾追加该内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
然后可以重新登录检测配置是否生效了。
- 解决错误[2]的方法。
sudo vim /etc/sysctl.conf #必须使用root权限进行修改
可以使用sudo sysctl -p
命令查看修改是否成功
- 解决错误[3]的方法。
vim elasticsearch.yml
我们对节点进行增加,把原来注释掉的放开就行。
(3)解决了三个错误,这个时候我们重新登录后再启动ES看看。
已经成功启动了,并且我们现在通过目前的浏览器也可以访问到我们ES的客户端。