目录
  1. ElasticStack及Elasticsearch介绍
  2. Elasticsearch安装
  3. Elasticsearch入门
  4. Elasticsearch配置
  5. Elasticsearch REST API
  6. Elasticsearch .NET客户端
  7. 附录
 
ElasticStack及Elasticsearch介绍
 
 
Elastic Stack (旧称ELK Stack): Elasticsearch + Logstash + Kibana + Beats (New)
 
Elastic Stack组件:
  • Elasticsearch
            搜索、分析和存储数据。Elasticsearch是一个基于JSON的分布式搜索和分析引擎,专为水平可扩展性,最高可靠性和易管理性而设计。
  • Logstash
            Logstash是一个动态数据收集管道,具有可扩展的插件生态系统和强大的Elasticsearch协同作用。
  • Kibana
            可视化您的数据。 导航弹性堆栈。Kibana为您的数据提供了可视化,是用于配置和管理Elastic Stack各个方面的可扩展用户界面。
  • Beats
            Beats是轻量级数据运送平台,可将边缘机器的数据发送到Logstash和Elasticsearch。
 
Elasticsearch安装
 
最新版本为Elasticsearch 6.5.4 GA Release,Windows下载安装包如下:
 
安装条件:64位Java虚拟机
 
 
安装步骤:
 
  1. 下载并解压缩Elasticsearch
  2. 运行bin\elasticsearch.exe
  3. 使用浏览器访问http://localhost:9200
 
配置ES使用JVM分配的内存堆(Heap)
对于小型部署来说1G足够,最大不应超过内存的50%
 
 
 
安装成功验证画面
 
 
Elasticsearch入门
 
Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。 它允许您快速,近实时地存储,搜索和分析大量数据。 它通常用作底层引擎/技术,为具有复杂搜索功能和要求的应用程序提供支持。
 
以下是Elasticsearch可用于的一些示例用例:
 
  • 您经营一家在线网上商店,您可以让客户搜索您销售的产品。在这种情况下,您可以使用Elasticsearch存储整个产品目录和库存,并为它们提供搜索和自动填充建议。
 
  • 您希望收集日志或交易数据,并且希望分析和挖掘此数据以查找趋势,统计信息,摘要或异常。在这种情况下,您可以使用Logstash(Elasticsearch / Logstash / Kibana堆栈的一部分)来收集,聚合和解析数据,然后让Logstash将此数据提供给Elasticsearch。一旦数据在Elasticsearch中,您就可以运行搜索和聚合来挖掘您感兴趣的任何信息。
 
  • 您运行价格警报平台,允许精通价格的客户指定一条规则,例如“我有兴趣购买特定的电子产品,如果小工具的价格在下个月内从任何供应商降至X美元以下,我希望收到通知” 。在这种情况下,您可以刮取供应商价格,将其推入Elasticsearch并使用其反向搜索(Percolator)功能来匹配价格变动与客户查询,并最终在发现匹配后将警报推送给客户。
 
  • 您有分析/业务智能需求,并希望快速调查,分析,可视化并询问有关大量数据的特定问题(想想数百万或数十亿条记录)。在这种情况下,您可以使用Elasticsearch存储数据,然后使用Kibana(Elasticsearch / Logstash / Kibana堆栈的一部分)构建自定义仪表板,以便可视化对您来说重要的数据方面。此外,您可以使用Elasticsearch聚合功能针对您的数据执行复杂的商业智能查询。
 
基本概念
 
  • NRT(接近实时)
            Elasticsearch是一个近实时搜索平台。 这意味着从索引文档到可搜索文档的时间有一点延迟(通常为一秒)。
 
  • Cluster(集群) —— 按应用或业务,如HR、法务
            集群是一个或多个节点(服务器)的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索引和搜索功能。 群集由唯一名称标识,默认情况下为“elasticsearch”。 此名称很重要,因为如果节点设置为按名称加入群集,则该节点只能是群集的一部分。
 
  • Node(节点) —— 按物理服务器
            节点是作为群集一部分的单个服务器,存储数据并参与群集的索引和搜索功能。 就像集群一样,节点由名称标识,默认情况下,该名称是在启动时分配给节点的随机通用唯一标识符(UUID)。 如果不需要默认值,可以定义所需的任何节点名称。
 
  • Index(索引)  ——  按业务领域,如订单、合同、交易记录
            索引是具有某些类似特征的文档集合。 例如,您可以拥有客户数据的索引,产品目录的另一个索引以及订单数据的另一个索引。 索引由名称标识(必须全部小写),此名称用于在对其中的文档执行索引,搜索,更新和删除操作时引用索引。
 
  • Type(类型) —— 6.0.0已弃用
  • Document(文档)
            文档是可以编制索引的基本信息单元。 例如,您可以为单个客户提供文档,为单个产品提供另一个文档,为单个订单提供另一个文档。 该文档以JSON(JavaScript Object Notation)表示,JSON是一种普遍存在的互联网数据交换格式。在索引/类型中,您可以根据需要存储任意数量的文档。 请注意,尽管文档实际上驻留在索引中,但实际上必须将文档编入索引/分配给索引中的类型。
 
  • Shards & Replicas (分片和复制)
            为了解决这个问题,Elasticsearch提供了将索引细分为多个称为分片的功能。 创建索引时,只需定义所需的分片数即可。 每个分片本身都是一个功能齐全且独立的“索引”,可以托管在集群中的任何节点上。
            分片很重要,主要有两个原因:
    • 允许水平拆分/扩展索引容量
    • 允许跨分片(可能在多个节点上)分布和并行化操作,从而提高性能/吞吐量
            分片的分布方式以及如何将其文档聚合回搜索请求的机制完全由Elasticsearch管理,对用户而言是透明的。
            在可以随时发生故障的网络/云环境中,非常有用,强烈建议使用故障转移机制,以防分片/节点以某种方式脱机或因任何原因消失。 为此,Elasticsearch允许您将索引的分片的一个或多个副本制作成所谓的副本分片或简称副本。
 
        主分片和复制分片:
 
  • 此索引包括两个主分片和两个复制分片。你的应用会循环请求各节点。
  • 写请求路由到主分片然后复制分片。
  • 读请求路由到主分片或任何复制分片。
 
Elasticsearch配置
 
ES目录结构
 
  • bin: 运行ES实例和插件管理的脚本
  • lib: ES使用的库文件
  • modules: ES主要模块
  • plugins: ES插件目录
 
安装后可以通过Windows服务来停止或启动Elasticsearch。
 
ES客户端
 
 
Elasticsearch REST API
 
现在我们已经启动并运行了节点(和集群),下一步是了解如何与它进行通信。 幸运的是,Elasticsearch提供了一个非常全面和强大的REST API,您可以使用它与集群进行交互。 使用API可以完成的一些事项如下:
  • 检查群集,节点和索引运行状况,状态和统计信息
  • 管理您的群集,节点和索引数据和元数据
  • 对索引执行CRUD(创建,读取,更新和删除)和搜索操作
  • 执行高级搜索操作,例如分页,排序,过滤,脚本编写,聚合等等
 
查询集群状态:GET http://localhost:9200/_cat/health?v
查询节点状态:GET http://localhost:9200/_cat/nodes?v
查询索引列表:GET http://localhost:9200/_cat/indices?v
 
创建索引customer:PUT  http://localhost:9200/customer?pretty
{
"name": "John Doe"
}
 
 
基本语法:<HTTP Verb> /<Index>/<Type>/<ID>
 
更新/创建索引(带文档ID):PUT http://localhost:9200/customer/_doc/1?pretty
创建索引(不带文档ID):POST  http://localhost:9200/customer/_doc?pretty
 
{
  "script" : "ctx._source.age += 5"
}
 
 
Elasticsearch .NET客户端
 
Elasticsearch的.NET客户端包括Elasticsearch.Net和NEST:
 
  • NEST (推荐使用) - 高级客户都
 
Elasticsearch PasS申请流程(CIO)
 
准备材料
  1. Obtain the Name Domain requirements.
  2. Elastic Search Version
  3. Node Configuration
    1. Instance Count
    2. Instance Type
  4. Storage Configuration
    1. Storage Type
    2. Volume Type
    3. Volume Size
  5. Snaposhot Configuration
申请流程
  1. Application team submits an Infrastructure Architecture type RITM to ED (INFRADELV-OPER-CIOENVDELV).
The ticket contains the requirements above. (See I. Requirements)
  1. ED assignee submits a CHG to ID (INFRADELV-CIO-Infrastructure Design) for TA357 update.
  2. ED assignee creates the AWS ElasticSearch in AWS.
  3. Application team verifies the configuration and provides sign off.
 
CIO Elasticsearch服务创建负责:ED Team
AWS Elasticsearch服务版本:5.3 (可以跟ED确认)
服务实例命名规则:AppName-AIRID-ENV
 
流程
 
访问控制可通过CAPP申请,如开通EC2访问ES的权限(resource based permissions)
 
附录
 
参考链接:
 

Elasticsearch上手指南的更多相关文章

  1. Rancher 快速上手指南操作(1)

    Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubunt ...

  2. Elasticsearch 权威指南

    Elasticsearch 权威指南 http://fuxiaopang.gitbooks.io/learnelasticsearch/content/index.html

  3. X下轻量级桌面WindowMaker上手指南

    layout: post title: 轻量级桌面WindowMaker上手指南 tags: x11, cygwin, raspi --- 最近工作上需要在远程Linux上运行一个桌面(我需要跑Net ...

  4. UnityShader快速上手指南(三)

    简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明 ...

  5. Elasticsearch 权威指南 NESTAPI地址

    Elasticsearch 权威指南:http://fuxiaopang.gitbooks.io/learnelasticsearch/content/index.html NEST:http://n ...

  6. Windows 8 系统完全上手指南 - 非常详尽的 Win8 系统入门学习手册与使用技巧专题教程!

    每次当有新版本的操作系统发布的时候,市面上总会冒出各种从入门到精通类的学习书籍,这次最新的 Windows 8 也不例外!不过,今天给大家送上免费的大礼——<Windows 8 完全上手指南&g ...

  7. Resharper上手指南

    原文http://www.cnblogs.com/renji/archive/2007/12/11/resharper.html Resharper上手指南 我是visual studio的忠实用户, ...

  8. NewLife.XCode 上手指南2018版(二)增

    目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...

  9. NewLife.XCode 上手指南2018版(一)代码生成

    目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...

随机推荐

  1. Paypal标准支付对接

    提醒一下,题主是在快速标准支付做到一半的时候换成了标准支付,所以该文档的快速支付大家做个参考就可以了. 一.两种支付方式 标准支付 优点:纯前端对接,简单方便,适用于非技术开发人员.个人即可用,不用花 ...

  2. Linux内核升级修复系统漏洞-RHSA-2017:2930-Important: kernel security and bug fix update

    公司使用的阿里云服务器(Centos7.4 x86_64bit)内核版本为:3.10.0-693.21.1.el7.x86_64, 2019年3月4日 02:07:58通过云盾安骑士-->漏洞管 ...

  3. c# winform 窗体 对话框绑定的值如何填到主窗体问题

    这段代码放在主窗体中 private void txt_KeJiaAModel_DoubleClick(object sender, EventArgs e) { TimerEvent(); } // ...

  4. C# WinForm 设置按纽为透明,使用背景色

    今天开发登陆界面时,遇到一个窗体控制设置问题: 1.将按纽设置为透明: 2.并且使用背景图片的颜色: 3.并且需要当点击这个按纽时,仍然显示背景图片颜色: 4.去掉按纽边框显示线: 需要的效果如下: ...

  5. FOC软件中要处理的问题

    1. 电流采样时间及通道 FOC需要通过采集相电流来进行控制,采样时间及通道极为关键,在二或三电阻采样方案中,采用如下方式: 在1.6扇区,B.C为采样通道: 在2.3扇区,A.C为采样通道: 在4. ...

  6. Rust-Sqlx极简教程

    简介 sqlx 是 rust 中的一个数据库访问工具.具有以下特点: 异步:原生就支持异步,在并发性高的场合能够得到更好的支持 编译时检查查询:sqlx可以在 cargo build 的时候检查执行s ...

  7. P2P图书馆实践:让知识更好的传播

    人才是每个公司最重要的资产,而人的成长自然就成了最重要的事.苏轼曾经说过:"腹有诗书气自华,代码万行零缺陷",阅读对人成长的影响是巨大的.相信不同的团队都有着自己打造学习氛围.技术 ...

  8. Oracle Yum源

    仓库地址(非Yum源仓库):https://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html 如何连接到 Orac ...

  9. Java中实现多态的机制是什么?

    Java允许父类或接口定义的引用变量指向子类或具体实现类的实例对象,而程序调用的方法在运行时才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类 ...

  10. SQL 注入漏洞产生的原因?如何防止?

    SQL 注入产生的原因:程序开发过程中不注意规范书写 sql 语句和对特殊字符进 行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行. 防止 SQL 注入的方式: ...