ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,
基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发
布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快
速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其
他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是
Apache Solr,也是基于Lucene。
Elasticsarch的每一个运行实例称为一个节点,即可以在同一台计算机上运行多个实例,也可以在每
台计算机上只运行一个实例。
在一个分布式系统里,多个ES运行实例可以组成一个集群(cluster),该集群里有一个动态选举出来的主节
点。如果主节点失败,会自动选出新的节点做为主节点,所以不存在单点故障。
在同一个子网内,只需要在每个节点上设置相同的集群名,这些集群名相同的节点会自动组成一个集群。
ES包含了节点和节点之间的通信模块及节点之间的数据分配和平衡模块。
为了实现容错,ES会把查询文档集合分解为多个小的索引,每一个小的索引就叫做分片(shards)。每
一个分片都可以有0到多个副本(replicas),而每一个副本也都是分片的完整复制品,这样也提高了查询速
度。
一旦ES的某个节点数据损坏或者服务不可用的时候,就可以用其他的节点来代替坏掉的节点,以达到高
可用的目的。当有节点加入或者退出时,主节点会根据机器的负载对索引分片进行重新分配,当“挂掉”对节点
再次重现启动对时候也会进行数据恢复(recovery)。
ES通过网关(Gateway)来管理集群恢复,可以配置集群需要加入多少节点才能启动恢复数据。网关配
置用于恢复任务失败的索引。当节点崩溃并重新启动时,ES将从网关读取所有的索引和元数据。
1、安装一个java的环境
mkdir /opt/es-software
cd /opt/es-software
rpm -ivh jdk-8u102-linux-x64.rpm
#检查安装信息
java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
#上传es安装包
rpm -ivh elasticsearch-6.6.0.rpm
#修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
[root@es01 es-software]# egrep -v '^$|#' /etc/elasticsearch/elasticsearch.yml
node.name: es01
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true #内存锁
network.host: 10.0.0.100,127.0.0.1
http.port: 9200
#启动es服务
systemctl start elasticsearch
#在启动时发生内存锁定失败的问题
#官方文档介绍
评论