阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ElasticSearch教程

142次阅读
没有评论

共计 5907 个字符,预计需要花费 15 分钟才能阅读完成。

背景

公司一直在使用 ES 作为分布式的搜索引擎,由于数据量的不断升高,ES 出现了性能瓶颈。公司决定进一步的优化 ES 配置,所以最近几天在研究 ES,最近会更新一系列 ES 的教程,希望大家持续关注。不多说了,Action。

简介

ElasticSearch 一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。它是用 Java 开发的,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

官网:https://www.elastic.co/

ElasticSearch 的特性:

对于 ES 的特性,我是从官网翻译过来,如果有不妥的地方,希望大家提出宝贵的建议。

  1. 开源的(不解释)
  2. 它是分布式和高度可用的搜索引擎。
    1. 每个索引根据配置分片的数量完成完全分片。
    2. 每个碎片都可以有一个或多个副本。
    3. 读 / 搜索操作可以在任何复制分片上执行。
  3. 支持多租户与多种类型。
    1. 支持一个以上的索引。
    2. 支持一个以上的每个索引类型。
    3. 指数级配置(数量的碎片, 索引存储,…)。
  4. 各种组 api
    1. HTTP RESTful API
    2. 本地 Java API。
    3. 所有 api 执行自动从路由节点操作。
  5. 面向文档的
  6. 可靠异步写操作长期持续。
  7. (附近)实时搜索。
  8. 基于 Lucene
    1. 每个碎片都是一个功能齐全的 Lucene 索引
    2. 所有 Lucene 通过简单的配置 / 插件非常容易的暴露出来。
  9. 每个操作的一致性
    1. 单文档级别操作都是原子的、一致的、孤立的和持久的。

对于 ES 了解一个大概情况就可以了。下面我们下载和安装 ES(我们以 windows 操作系统和 Elasticsearch 2.3.1 为例,其实在 linux 上安装没有区别):

下载

下载地址:https://www.elastic.co/downloads/elasticsearch

Elasticsearch 的所有版本都有四种打包格式:ZIP、TAR、DEB、RPM, 我们使用 ZIP 就可以了。
ElasticSearch 教程

目录结构

ElasticSearch 教程

bin:可以执行文件
config:配置文件
data:es 存放数据的文件
lib:运行所需类库
logs:日志文件
modules:加载模块列表(其实是必要插件)
plugins:插件文件(需要自定义安装)

注:刚解压的 ES 并没有这么多目录,只有 bin、config、lib、modules,其他都是在第一次运行之后自动生成的。

安装步骤

  1. Download and unzip the latest Elasticsearch distribution

    下载最新 Elasticsearch 版本,解压到指定目录。

  2. Run bin/elasticsearch on Unix or bin\elasticsearch.bat on Windows

    在 Unix 上运行 bin/elasticsearch 或者在 Windows 上运行bin\elasticsearch.bat(命令行,进入 cd E:\ES\elasticsearch-2.3.1\bin 目录或者直接双击 elasticsearch.bat 运行)

  3. Run curl -X GET http://localhost:9200/
    ElasticSearch 教程

运行测试

在浏览器里测试一下:
ElasticSearch 教程

如果你得到的 status 是 200 那它意味着所有的事情都 ok 啦…是不是很简单?
让我们看看 JSON 的每个字段代表的含义:
Ok: 当为 true 时,意味着请求成功。
Status: 发出请求后的 HTTP 的错误代码。200 表示一切正常。
Name: 我们 Elasticsearch 实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。
Version: 这个对象有一个 number 字段,代表了当前运行的 Elasticsearch 版本号,和一个 Snapshot_build 字段,代表了你当前运行的版本是否是从源代码构建而来。
Tagline: 包含了 Elasticsearch 的第一个 tagline:“You Know, for Search.”

好,我们这篇博客就到这里,下篇博客 ElasticSearch 基本插件 head,我们介绍一个 ES 的插件,并且使用这个插件学习对 ES 的基本操作。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-12/149965p2.htm

公司一直在使用 ES 作为分布式的搜索引擎,由于数据量的不断升高,ES 出现了性能瓶颈。公司决定进一步的优化 ES 配置,所以最近几天在研究 ES,最近会更新一系列 ES 的教程,希望大家持续关注。不多说了,Action。

前言

这篇文章我们介绍一个非常好的工具:elasticsearch-head, 从简单介绍,到安装,最后使用。

简介

elasticsearch-head 是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。你可以通过插件把它集成到 es(首选方式), 也可以安装成一个独立 webapp。

es-head 主要有三个方面的操作:

  1. 显示集群的拓扑, 并且能够执行索引和节点级别操作
  2. 搜索接口能够查询集群中原始 json 或表格格式的检索数据
  3. 能够快速访问并显示集群的状态
  4. 有一个输入窗口, 允许任意调用 RESTful API。这个接口包含几个选项, 可以组合在一起以产生有趣的结果;
    1. 请求方法(get、put、post、delete), 查询 json 数据, 节点和路径
    2. 支持 JSON 验证器
    3. 支持重复请求计时器
    4. 支持使用 javascript 表达式变换结果
    5. 收集结果的能力随着时间的推移(使用定时器), 或比较的结果
    6. 能力图表转换后的结果在一个简单的条形图(包括时间序列)

官方的文档:
https://github.com/mobz/elasticsearch-head

安装

我们只介绍插件的安装方式,另外的方式大家看官方文档即可。ES-head 作为插件,有两个安装方式:

  1. 通过 elasticseach 自带的 plugin 命令
    elasticsearch/bin/plugin -install mobz/elasticsearch-head
    如下图:

ElasticSearch 教程
2. zip 包安装

1. https://github.com/mobz/elasticsearch-head 下载 zip 解压
2. 建立 elasticsearch-2.3.1\plugins\head 文件
3. 将解压后的 elasticsearch-head-master 文件夹下的文件 copy 到 head
4. 运行 es
5. 打开 http://localhost:9200/_plugin/head/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

启动界面

ElasticSearch 教程

说明:这个界面展示的 ES 集群的内容,以及我们安装的其他插件的数据,后面我们会详细介绍。

对 es-head 的操作,大家自己点点,简单的操作一下就学会了,非常的简单。

下面我们开始介绍 ElasticSearch 的简单集群安装。

背景

公司一直在使用 ES 作为分布式的搜索引擎,由于数据量的不断升高,ES 出现了性能瓶颈。公司决定进一步的优化 ES 配置,所以最近几天在研究 ES,最近会更新一系列 ES 的教程,希望大家持续关注。不多说了,Action。

简介

ElasticSearch 一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。它是用 Java 开发的,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

官网:https://www.elastic.co/

ElasticSearch 的特性:

对于 ES 的特性,我是从官网翻译过来,如果有不妥的地方,希望大家提出宝贵的建议。

  1. 开源的(不解释)
  2. 它是分布式和高度可用的搜索引擎。
    1. 每个索引根据配置分片的数量完成完全分片。
    2. 每个碎片都可以有一个或多个副本。
    3. 读 / 搜索操作可以在任何复制分片上执行。
  3. 支持多租户与多种类型。
    1. 支持一个以上的索引。
    2. 支持一个以上的每个索引类型。
    3. 指数级配置(数量的碎片, 索引存储,…)。
  4. 各种组 api
    1. HTTP RESTful API
    2. 本地 Java API。
    3. 所有 api 执行自动从路由节点操作。
  5. 面向文档的
  6. 可靠异步写操作长期持续。
  7. (附近)实时搜索。
  8. 基于 Lucene
    1. 每个碎片都是一个功能齐全的 Lucene 索引
    2. 所有 Lucene 通过简单的配置 / 插件非常容易的暴露出来。
  9. 每个操作的一致性
    1. 单文档级别操作都是原子的、一致的、孤立的和持久的。

对于 ES 了解一个大概情况就可以了。下面我们下载和安装 ES(我们以 windows 操作系统和 Elasticsearch 2.3.1 为例,其实在 linux 上安装没有区别):

下载

下载地址:https://www.elastic.co/downloads/elasticsearch

Elasticsearch 的所有版本都有四种打包格式:ZIP、TAR、DEB、RPM, 我们使用 ZIP 就可以了。
ElasticSearch 教程

目录结构

ElasticSearch 教程

bin:可以执行文件
config:配置文件
data:es 存放数据的文件
lib:运行所需类库
logs:日志文件
modules:加载模块列表(其实是必要插件)
plugins:插件文件(需要自定义安装)

注:刚解压的 ES 并没有这么多目录,只有 bin、config、lib、modules,其他都是在第一次运行之后自动生成的。

安装步骤

  1. Download and unzip the latest Elasticsearch distribution

    下载最新 Elasticsearch 版本,解压到指定目录。

  2. Run bin/elasticsearch on Unix or bin\elasticsearch.bat on Windows

    在 Unix 上运行 bin/elasticsearch 或者在 Windows 上运行bin\elasticsearch.bat(命令行,进入 cd E:\ES\elasticsearch-2.3.1\bin 目录或者直接双击 elasticsearch.bat 运行)

  3. Run curl -X GET http://localhost:9200/
    ElasticSearch 教程

运行测试

在浏览器里测试一下:
ElasticSearch 教程

如果你得到的 status 是 200 那它意味着所有的事情都 ok 啦…是不是很简单?
让我们看看 JSON 的每个字段代表的含义:
Ok: 当为 true 时,意味着请求成功。
Status: 发出请求后的 HTTP 的错误代码。200 表示一切正常。
Name: 我们 Elasticsearch 实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。
Version: 这个对象有一个 number 字段,代表了当前运行的 Elasticsearch 版本号,和一个 Snapshot_build 字段,代表了你当前运行的版本是否是从源代码构建而来。
Tagline: 包含了 Elasticsearch 的第一个 tagline:“You Know, for Search.”

好,我们这篇博客就到这里,下篇博客 ElasticSearch 基本插件 head,我们介绍一个 ES 的插件,并且使用这个插件学习对 ES 的基本操作。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-12/149965p2.htm

公司一直在使用 ES 作为分布式的搜索引擎,由于数据量的不断升高,ES 出现了性能瓶颈。公司决定进一步的优化 ES 配置,所以最近几天在研究 ES,最近会更新一系列 ES 的教程,希望大家持续关注。不多说了,Action。

前言

这篇博文我们亲自搭建一个简单的 ElasticSearch 集群。配置 ElasticSearch 集群异常的简单,简单到甚至只需要修改两个地方:保证集群名一致和保证集群的中节点端口不重复。

集群搭建

ElasticSearch 的集群我还是以 elasticsearch-2.3.1 版本为例。在开始集群搭建之前,我先给大家一点建议,在看 elasticsearch-2.3.1 的配置文件之前,先看 elasticsearch 低版本的配置文件,例如:1.6,因为低版本的配置文件的英文解释比较多,而且比较透彻,学习更加简单。下面我们来搭建一个简单的集群。

elasticsearch 的 config 文件夹里面有两个配置文件:elasticsearch.yml 和 logging.yml,第一个是 es 的基本配置文件,第二个是日志配置文件,es 也是使用 log4j 来记录日志的,所以 logging.yml 里的设置按普通 log4j 配置文件来设置就行了。

打开 elasticsearch.yml 的第一眼,配置文件的实例非常的简单,我们主要讲两点:

  1. cluster.name
    配置 es 的集群名称,默认是 elasticsearch,不同的集群用名字来区分,es 会自动发现在同一网段下的 es,配置成相同集群名字的各个节点形成一个集群。如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
  2. http.port
    设置对外服务的 http 端口,默认为 9200。不能相同,否则会冲突。

安装实践

  1. 集群将部署 3 个节点:

    节点 1:

    cluster.name:elasticsearch-test

    http.port:9200

    节点 2:

    cluster.name:elasticsearch-test

    http.port:19200

    节点 3:

    cluster.name:elasticsearch-test

    http.port:29200

  2. 集群配置

    上文提到过,只要集群名相同,且机器处于同一局域网同一网段,es 会自动去发现其他的节点。

  3. 配置完成,启动三个 es 节点

  4. 我们通过 es-head 查看整个集群的状态, 以及内容。如下图所示:
    ElasticSearch 教程

总结

ES 的集群搭建非常的简单。

Elasticsearch 安装使用教程 http://www.linuxidc.com/Linux/2015-02/113615.htm

分布式搜索 ElasticSearch 单机与服务器环境搭建  http://www.linuxidc.com/Linux/2012-05/60787.htm

ElasticSearch 的工作机制  http://www.linuxidc.com/Linux/2014-11/109922.htm

ElasticSearch 集群搭建实例  http://www.linuxidc.com/Linux/2015-02/114243.htm

CentOS 7 下 ElasticSearch 集群搭建案例  http://www.linuxidc.com/Linux/2017-12/149964.htm

ElasticSearch 的详细介绍:请点这里
ElasticSearch 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149965.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5907字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中