ElasticSearch简介及基本配置

一、简介

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下载及启动

  • 去官网下载最新的:https://www.elastic.co/cn/downloads/elasticsearch
  • 解压文件,将解压后的文件复制两份出来分别命名为slave1,slave2(两个从)
  • 进入elasticsearch的项目目录下,编辑config/elasticsearch.yml文件,在文件最下方加入如下代码:
#  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下载及启动

  • 下载Elasticsearch-head:git clone git://github.com/mobz/elasticsearch-head.git
  • 安装node环境后进入elasticsearch-head 目录下运行 npm run start
  • 这时候elasticsearch-head 就启动了
  • 这时候用浏览器打开http://127.0.0.1:9100/那么就能看到如下界面(我已经建立了三个索引,请忽略)
image.png

你可能感兴趣的:(ElasticSearch简介及基本配置)