目录
  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. MySQL — 索引

    目录 1.索引概述 2.索引结构 3.索引分类 4.索引语法 5.SQL 性能分析 5.1.执行频次 5.2.慢日志查询 5.3.profile 5.4.explain 6.索引使用规则 6.1.单列 ...

  2. Ubuntu18.04..5 配置国内镜像源:解决E: Failed to fetch

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 问题描述 使用 sudo apt get-install 出现 E: Failed to fetch问题. 更换镜像源 错误原因:绝大多数情况下, ...

  3. Haproxy之负载均衡功能、基于cookie的session持久、haproxy自带的健康页面及其动静分离的实现

    实验前提: 1.本次实验是在Centos 7.4(64bit)系统上完成的.2.实验前确保每台服务器时间同步3.本次实验有3台主机,其中haproxy作为反向代理地址为192.168.31.43,后面 ...

  4. java高级用法之:无所不能的java,本地方法调用实况

    目录 简介 JDK的本地方法 自定义native方法 总结 简介 相信每个程序员都有一个成为C++大师的梦想,毕竟C++程序员处于程序员鄙视链的顶端,他可以俯视任何其他语言的程序员. 但事实情况是,无 ...

  5. shellLab实验报告

    一.预备知识 阅读课本CSAPP的第八章后完成本次实验,要求熟练掌握以下内容: 进程的概念.状态以及控制进程的几个函数(fork,waitpid,execve). 信号的概念,会编写正确安全的信号处理 ...

  6. Nginx配置不当(CRLF注入 、目录穿越)

    基于vulhub漏洞环境 环境搭建参考:https://blog.csdn.net/qq_36374896/article/details/84102101 1.漏洞名称 CRLF注入 2.漏洞原理 ...

  7. python练习册 每天一个小程序 第0009题

    1 ''' 2 题目描述: 3 找出一个html文件中所有的url 4 5 思路 : 6 利用正则表达式进行匹配 7 8 ''' 9 10 11 import re 12 13 14 with ope ...

  8. IC设计学习路线

    一 前言 一直以来都是这也想学那也想学,搞个两三个月又放弃了,开始搞新的,从来没有任何东西超过一年,更不要说坚持三年.现在经历的事情多了,学过各种编程语言明白了要想学会一个专业技能,至少是三年.得到软 ...

  9. 记一次Prometheus代理性能优化问题

    最近有做一个Prometheus metrics代理的一个小项目,暂称为prom-proxy,目的是为了解析特定的指标(如容器.traefik.istio等指标),然后在原始指标中加入应用ID(当然还 ...

  10. 12.16 JAVA swing

    ------------恢复内容开始------------ 12.16JAVA swing 1.框架 JFrame>JPanel>组件JButton JTestfilled JTable ...