首页 > 其他分享 >Elasticsearch 技术分析(一): 基础入门

Elasticsearch 技术分析(一): 基础入门

时间:2023-01-18 16:13:35浏览次数:59  
标签:分析 入门 version kibana 6.4 elasticsearch 版本 Elasticsearch

简介

Elasticsearch是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据,并支持多租户。

Elasticsearch也使用Java开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。

不过,Elasticsearch 不仅仅是 Lucene 和全文搜索,我们还能这样去描述它:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API、各种语言的客户端甚至命令行与之交互。

版本选择

在决定使用 Elasticsearch 的时候首先要考虑的是版本问题,Elasticsearch 目前有三个常用的稳定的主版本:2.x,5.x,6.x(排除 0.x 和 1.x)。

Elasticsearch 可以在这里查看所有历史版本,博主写这篇博文的时候最新的是 Elasticsearch 6.4.2。你可能会发现没有 3.x 和 4.x,ES 从 2.4.6 直接跳到了 5.0.0。这是为什么?

其实是为了ELK(ElasticSearch, logstash, kibana)技术栈的版本统一,免的给用户带来混乱。

我们知道 elasticsearch,kibana,logstash 都是 Elastic Stack 成员, 而且很多时候都是配合使用,那么为了协同开发,避免造成版本困惑,所以需要统一版本,至少保持在一个主版本号下。

在 Elasticsearch 是 2.x (2.x 的最后一版 2.4.6 的发布时间是 July 25, 2017) 的情况下,kibana 已经是 4.x(Kibana 4.6.5 的发布时间是 July 25, 2017),那么在 kibana 的下一主版本肯定是 5.x 了,所以 Elasticsearch 直接将自己的主版本发布为 5.0.0 了。统一之后,我们选版本就不会犹豫困惑了,我们选定 elasticsearch 的版本后再选择相同版本的 kibana 就行了,不用担忧版本不兼容的问题。

版本选择可以从以下几个方面考虑:

  • 版本问题
    2.x 版本较老,无法体验新功能,且性能不如 5.x。
    6.x 版本有点新,网上资料相对比较少(开发时间充足的可以研究)。
  • 数据迁移
    2.x 版本数据可以直接迁移到 5.x;
    5.X 版本的数据可以直接迁移到 6.x; 但是 2.x 版本数据无法直接迁移到 6.x。
  • 周边工具
    2.x 版本周边工具版本比较混乱;Kibana 等工具的对应版本需要自己查,不好匹配。
    5.x 之后 Kibana 等工具的主版本号进行了统一。
  • Sql 语法支持
    2.x,5.x,6.x 都可以安装 Elasticsearch-sql 插件,使用熟悉的SQL语法查询 Elasticsearch。
    6.3.0 以后内置支持 SQL 模块,这个 SQL 模块是属于 X-Pack 的一部分。

通过以上的版本号了解之后,综合考虑,我起始选择了 elasticsearch 6.4.0版本,其实主要是因为它新,kibana 也选择了 kibana 6.4.0。但是等本地开发完成准备部署的时候,运维通知切换到5.6.0,因为公司其他部门的是5.6.0,方便统一维护,还好 API 变化不大。

环境搭建

安装 Elasticsearch

Elasticsearch5.0之后的版本至少需要Java 8。可通过如下命令检查Java版本,然后根据需要进行相应的安装/升级。

java -version
echo $ JAVA_HOME

你可以从 elastic.co/download 下载你需要的版本的Elasticsearch,解压之后即可使用。

如果是集群形式的,可在 ...\elasticsearch-5.6.0\config\elasticsearch.yml 中配置一些你的集群信息:

cluster.name: my-application   # 集群名称
path.data: /path/to/data       # ES数据存储路径
path.logs: /path/to/logs       # ES日志存储路径
node.name: node-1              # 当前节点的名称
network.host: 192.168.0.1      # 配置当前结点绑定的IP地址,可设置为0.0.0.0
http.port: 9200                # 设置对外服务的HTTP端口,默认为9200

运行 Elasticsearch#

elasticsearch 准备好之后,在安装目录中执行以下命令可以启动运行:

Linux
./bin/elasticsearch
Windows
D:\...\elasticsearch-6.4.0\bin\elasticsearch.bat

运行成功之后(启动日志里面会有.. started标志),浏览器访问http://localhost:9200/?pretty,你能看到类似以下返回信息(各版本稍微不同):

{
  "name" : "AGXQ3qy",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "mg9t4Yi2TRud1JNwRY0bPA",
  "version" : {
    "number" : "6.4.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "595516e",
    "build_date" : "2018-08-17T23:18:47.308994Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

这说明你的 Elasticsearch 集群已经启动成功并且正常运行,接下来我们可以开始使用了。

原文出处:https://www.cnblogs.com/jajian/p/9976900.html

标签:分析,入门,version,kibana,6.4,elasticsearch,版本,Elasticsearch
From: https://www.cnblogs.com/91donkey/p/17060054.html

相关文章

  • JDK1.8 Vector 源码相关分析
       /**   *底层实现逻辑:数组线性表查询效率高,修改效率低    *所有的操作类同ArrayList但是synchronize线程安全    *效率低    */public......
  • 迷宫回溯问题分析
    问题:迷宫为8x8的二位数组,其中0为道路,1为墙,人如何在起点和终点之前获取一条可达路径。 自定义的概念: 当前位置:人当前所在的位置,通过当前位置不断变动形成一条路径。......
  • JDK 1.8 LinkedList 关键代码分析 重要属性和add
       /**   *有序(输入有序),不唯一    *底层实现是双向链表   *易修改,不易查询    */publicclassLinkedList<E>   extendsAbstractSequenti......
  • JDK 1.8 ArrayList源码分析 关键代码
    /***1.ArrayListAbstractList中实现了List接口冗余,作者已经承认*2.RandomAccess可以随机访问,标记接口***/publicclassArrayList<E>extendsAbstractList<E> ......
  • DSP TMS320C6655 JTAG连不上之分析过程(JTAG Test错误代码-233)
    Taclink菜鸟上线:最近做了一个项目,项目方案是以DSP+FPGA为平台解决,经历了前期大量啃资料,原理设计,PCB设计,投板贴片后,目前正在调试阶段,过程中遇到了标题所述DSPTMS3......
  • 【版本控制工具】Git急速入门
    文章目录1.Git简介1.1.什么是Git1.2.Git与SVN区别2.Git工作流程2.1.Git的工程流程3.Git工作区、暂存区和版本库3.1.Git工作区、暂存区和版本库4.Git创建仓库4.......
  • ING国际银行基于Volcano的大数据分析平台应用实践
    摘要:ING集团发表了《EfficientSchedulingOfHighPerformanceBatchComputingForAnalyticsWorkloadsWithVolcano-KrzysztofAdamski&TincoBoekestijn,ING》......
  • CMake 快速入门教程 All In One
    CMake快速入门教程AllInOneCMakeCMakeisanopen-source,cross-platformfamilyoftoolsdesignedtobuild,testandpackagesoftware.CMakeisusedtocont......
  • Shell脚本零基础入门
    文章目录1.shell脚本入门1.1.shell的简介1.2.shell的应用场景1.3.shell常见的解释器1.4.shell脚本文件权限与脚本执行2.shell的变量以及常见符号2.1.常见变量2.......
  • 水质在线分析仪_水质在线监测系统
    水质在线分析仪又称水质在线监测系统、在线水质监测仪,水质在线分析仪可以自动对水质各项参数的实时监测,是一款用于分析水质污染状况的在线监测仪器,可实现水体COD、氨氮、总......