ElasticSearch-1
本文最后更新于:2020年12月4日 凌晨
Es是什么?
ElasticSearch是一款基于Lucene的全文搜索引擎。
什么是全文搜索引擎?
百度:全文搜索引擎就是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。
Es是对Lucene的封装,同时也是Lucene的分布式解决方案。将绝大多数的Lucene功能封装使其更容易被使用。Github、Stackoverflow等网站都在使用ElasticSearch作为搜索引擎。同时其优秀的分布式作业管理机制使其越来越被开发人员所喜爱。
Es安装
值得注意的是Es是依赖于Java环境的,当运行在Java 8 环境时会建议使用Java 11,因为在后续的版本中将取消对Java 8 的支持。
一、安装方式
目前官网不再提供源码下载,但是还是建议使用源码的方式进行安装,因为后续修改配置文件会比较方便。
//linux环境
//获取源码包
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.9.tar
//解压源码包
$ tar -zxvf elasticsearch-5.6.9.tar
//进入源码主目录
$ cd elasticsearch-5.6.9/
至此,Es的安装就已经全部安装完毕了。
二、配置
打开./config/elasticsearch.yml文件
vim ./config/elasticsearch.yml
//修改如下内容
cluster.name: 集群名称
node.name: 节点名称
path.data: 数据存储位置(目录位置,不需要创建文件)
path.logs: 日志存储位置(同上)
network.host: 绑定的ip(默认是127.0.0.1,本机访问,可以改为0.0.0.0使其能够在公网访问)
discovery.zen.ping.unicasts.hosts: 提供其他 Elasticsearch 服务节点的单点广播发现功能。配置集群中基于主机 TCP 端口的其他 Elasticsearch 服务的逗号分隔列表。
例如:discovery.zen.ping.unicast.hosts="localhost:9300,localhost:9301,localhost:9302
基本的配置如上所示。
三、启动
//启动命令(Es主目录下)
./bin/elasticsearch
如果是以root的身份去启动程序,会有报错。需要更换一个身份用户再次启动,同时将Es所在的文件夹权限设置为该用户可以访问和读写,否则会有报错出现。最简单的方法就是将Es文件夹及其子文件权限设置为777。重新执行指令之后会有日志信息打印出来,如果一切顺利,就可以访问http://ip地址:9200 来体验一下了。
//访问服务器所返回的JSON数据
{
"name" : "节点名称",
"cluster_name" : "集群名称",
"cluster_uuid" : "集群ID",
"version" : {
"number" : "Es版本号",
"build_hash" : "877a590",
"build_date" : "2018-04-12T16:25:14.838Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
如果不顺利,根据报错信息。
如果报错关于内存,请检查服务器的内存大小,如果小于2G,不建议在此服务器部署Es。即使程序运行正常,无端出现kill情况的也是由于内存过小导致的。
报错出现程序创建文件受到限制,需要修改该用户的最大创建文件数量(百度搜索即可)
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!