一、简介
1、什么是ES
* ES 全称 ElasticSearch,是一种分布式全文搜索引擎,基于Lucene(全文搜索框架)开发而来。
* 基于Apache Lucene构建的开源搜索引擎
* 采用Java编写,提供简单易用的RESTFul API
* Lucene是公认的迄今为止的最好用的搜索引擎库,但是他所提供的API对于我们使用者来说,是非常苦恼的,常要花费大量时间去熟悉学习。
* ES的出现就很好的解决了这个问题,良好的封装,易用的API,链式书写方式等。
* 历史版本 1.x -> 2.x -> 5.x
2、ES的特点
ES 虽然是以Lucene核心库开发的,但是却不是以它作为核心,ES的特点主要有如下:
* 分布式实时文件存储,每个字段皆能索引
* 集群,可扩展(理论上无上限),轻松横向扩展
* 可支持PB级别的结构化和非结构化数据处理
* 高度集成的服务(RESTful风格的API,各语言客户端)
* 易学易用,开瓶即饮
3、ES的使用场景
* 海量数据分析引擎
* 作为站内应用搜索引擎
* 作为数据仓库
4、一线公司应用的实际场景
* 英国卫报 - 试试分析公众对文章的回应
* 维基百科、GitHub - 站内实时搜索
* 百度 - 试试日志监控平台
二、分布式主从配置
1、Elasticsearch下载及启动
# master相关配置
cluster.name: tudou # 指定集群名称
node.name: master # 节点名称
node.master: true # 是否为主节点
network.host: 127.0.0.1
# 跨域请求访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# slave1相关配置
cluster.name: tudou # 指定集群名称
node.name: slave1 # 节点名称
network.host: 127.0.0.1
http.port: 8200 # 指定端口
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] # 指向master 的地址
# slave2相关配置
cluster.name: tudou # 指定集群名称
node.name: slave2 # 节点名称
network.host: 127.0.0.1
http.port: 8100 # 指定端口
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] # 指向master 的地址
- 分别进入各个目录下运行 sh ./bin/elasticsearch 启动服务即可
2、Elasticsearch-head下载及启动
image.png
网友评论