[大数据]-Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用<2>

前言:上篇[大数据]-Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用<1>中介绍了ES ,Kibana的单机到分布式的安装,这里主要是介绍Elasticsearch5.3.1的一些概念。官方示例的基本数据导入,数据查询以及ES,kibana的功能组件的认识和熟悉。

一、Elasticsearch中的基本概念:

Elasticsearch所涉及到的每一项技术都不是创新或者革命性的,全文检索,分析系统以及分布式数据库这些早就已经存在了。它的革命性在于将这些独立且有用的技术整合成一个一体化的、实时的应用。它对新用户的门槛很低,当然它也会跟上你技能和需求增长的步伐。-《Elasticsearch权威指南》

Elasticsearch面向文档(document oriented)的,这意味着它可以存储整个对象或文档 (document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在 Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。这种理解数据的方式与以往完全不同,这也是Elasticsearch能够执行复杂的全文搜索的原因之 一。 -《Elasticsearch权威指南》

在数据库的学习中我们就知道了索引这个概念,索引是为提高查询效率而诞生的。索引让我们更快的定位需要查询的关键字。以Mysql来说:[从索引的数据结构划分]Mysql数据库中包含FULLTEXT,HASH,BTREE,RTREE这几种索引,分别是全文索引(全文索引是MyISAM的一个特殊索引类型,主要用于全文检索),hash索引(只有Memory存储引擎显示支持hash索引),B-tree B树索引(目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构),R-tree 空间索引(MyISAM支持空间索引,主要用于地理空间数据类型)。

全文索引(FULL-TEXT):用于全文检索(在一个文件中搜索匹配的词),又被称为倒排文档索引,是现代搜索引擎的关键技术。这也是ES的核心侧重点,致力于用户以前所未有的速度检索和分析大数据。

1、Mapping:相当于数据库表的schema,即定义这张表的字段和类型

2、Index:索引相当于数据库

3、Type:相当于数据库的表

4、Document:行数据

5、Fileds:字段

6、Id:相当于记录的编号

7、shared:分片,这是ES提供分布式搜索的基础,其含义为将一个完整的index分成若干部分存储在相同或不同的节点上,这些组成index的部分就叫做shard

二、Elasticsearch官方示例数据的导入:[localhost换成本机IP即可]

1、获取示例数据:

  • wget https://download.elastic.co/demos/kibana/gettingstarted/shakespeare.json
    wget https://download.elastic.co/demos/kibana/gettingstarted/accounts.zip
    wget https://download.elastic.co/demos/kibana/gettingstarted/logs.jsonl.gz

    解压缩:

  • unzip accounts.zip
    gunzip logs.jsonl.gz

2、导入示例数据:随便选取一个节点导入,这里为分布式环境,单机版同理。

  • 创建mapping: 以下下指令可以直接在终端运行,也可以在Kibana的控制台运行。
  • curl -H ‘Content-Type: application/json‘ -XPUT http://localhost:9200/shakespeare -d ‘
    {"mappings" : {
      "_default_" : {
       "properties" : {
        "speaker" : {"type": "string", "index" : "not_analyzed" },
        "play_name" : {"type": "string", "index" : "not_analyzed" },
        "line_id" : { "type" : "integer" },
        "speech_number" : { "type" : "integer" }
       }
      }
     }
    }‘;
    curl -H ‘Content-Type: application/json‘ -XPUT http://localhost:9200/logstash-2015.05.18 -d ‘
    {"mappings": {
        "log": {
          "properties": {
            "geo": {
              "properties": {
                "coordinates": {
                  "type": "geo_point"
                }
              }
            }
          }
        }
      }
    }‘;
    curl -H ‘Content-Type: application/json‘ -XPUT http://localhost:9200/logstash-2015.05.19 -d ‘
    {"mappings": {
        "log": {
          "properties": {
            "geo": {
              "properties": {
                "coordinates": {
                  "type": "geo_point"
                }
              }
            }
          }
        }
      }
    }‘;
    curl -H ‘Content-Type: application/json‘ -XPUT http://localhost:9200/logstash-2015.05.20 -d ‘
    {"mappings": {
        "log": {
          "properties": {
            "geo": {
              "properties": {
                "coordinates": {
                  "type": "geo_point"
                }
              }
            }
          }
        }
      }
    }‘;
  • 导入数据:
  • curl -H ‘Content-Type: application/x-ndjson‘ -XPOST ‘localhost:9200/bank/account/_bulk?pretty‘ --data-binary @accounts.json
    curl -H ‘Content-Type: application/x-ndjson‘ -XPOST ‘localhost:9200/shakespeare/_bulk?pretty‘ --data-binary @shakespeare.json
    curl -H ‘Content-Type: application/x-ndjson‘ -XPOST ‘localhost:9200/_bulk?pretty‘ --data-binary @logs.jsonl

3、查看是否导入成功:

  • curl ‘localhost:9200/_cat/indices?v‘

三、ES-head集群管理:

1、分布式环境中只需选取一个节点启动ES-head,无论是不是Master节点,都能连接到整个集群,这里选取node-1(192.168.230.150)导入。导入之后重新访问192.168.230.150:9100查看head界面可得到如下:

2、所有数据导入后会分片存储在不同的节点上,默认是5个分片,一个副本。每一个分片的副本都不会和本体存在一个节点上从而保证一个节点数据丢失可已得到恢复。我们可以修改连接的节点:结果同上,说明无论连接哪个节点都能获取集群的信息。

3、关闭其中一个节点(这里关闭node-1,master节点看看会出现什么结果)

  • 我们发现集群健康值由green变为了yellow,重新选举了node-3为主节点Master。我们重新启动node-1查看:



  • node-1节点恢复了,所存储的数据分片也恢复了,node-3仍是Master。

4、ES-head做一个简单的查询示例:

   ES-head可以清楚的查看集群的各种信息,节点,索引,数据。这里简单示例一个查询,具体功能后面在探索。查询type为account的数据条件是年龄范围在10-50之间。

四、Kibana功能组件:

1、开启Kibana,访问5601端口:http://ip:5601 创建Index pattern :ba*,log*,sh*(Management->Index Patterns->add New->取消所有选项->Create)

2、Discover数据查询展示:根据条件过滤选择要展示的字段右侧点击add,点开数据详情可以选择table和json两种格式展示。

3、Visualize可视化:多种可选择图形可视化。

  • 可选图形有:饼状图,折线图,条形图,坐标图。。。等。
  • 下面根据示例创建一个饼状图:(Visualizer->Create a Visualizer->pie chart->From a New Search, Select Index选择ba*)得到下图:
  • 选择过滤条件和聚合函数:(buckets:Split Slices->Aggregation->Range->Field->balance-add Range选择数据的范围 )
  • 在此基础上再添加条件:(Add sub-buckets->Split Slices->aggregation ->Terms ->field ->age ->Apply changes运行):
  • 点击右上角的save保存为pie-ba-example.
  • 创建条形图:参考官方文档https://www.elastic.co/guide/en/kibana/current/tutorial-visualizing.html得到结果如下:
  • 保存为log-Vertical-example。
  • 创建坐标图:参考官方文档https://www.elastic.co/guide/en/kibana/current/tutorial-visualizing.html得到结果如下:
  • 保存为log-map-example

4、dashboard:仪表盘,进行多图组合展示。

  • dashboard->create a dashboard->add,然后根据过滤条件选择我们需要的图点击图选择,可将多图放在一起展示。将上几步做的进行展示如下:
  • 保存为dashboard-example。

5、Dev Tools:控制台,可以发送http请求,用Curl可以做的请求,在这里都可以做。只要能和ES的REST API对接,都可以在这里做。

  • GET:
  • PUT:
  • DELETE:

6、Management:管理Index Pattern,Object (创建保存的图像),系统的一些配置文件可以进行编辑,略过(暂时还没有细细研究)。

到这里,EK的安装和使用的基本介绍就完了。

注意:

  我们在DB中创建数据库的时候是先配置schema在填写数据库的名字然后保存,这样一个数据库就建好了,这里在创建Mapping的时候其中就包含index的命名。其中Json参数包含type也就是表名,以及字段的定义。

  Kibana主要做可视化展示,需要将可视化的组件多熟悉,了解过滤条件和聚合函数如此才能和业务结合。

时间: 2024-10-22 09:16:05

[大数据]-Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用<2>的相关文章

[大数据]-Elasticsearch5.3.1 IK分词,同义词/联想搜索设置

--题外话:最近发现了一些问题,一些高搜索量的东西相当一部分没有价值.发现大部分是一些问题的错误日志.而我是个比较爱贴图的.搜索引擎的检索会将我们的博文文本分词.所以图片内容一般是检索不到的,也就是说同样的问题最好是帖错误代码,日志,虽然图片很直观,但是并不利与传播.希望大家能够优化一部分博文的内容,这样有价值的东西传播量可能会更高. 本文主要是记录Elasticsearch5.3.1 IK分词,同义词/联想搜索设置,本来是要写fscrawler的多种格式(html,pdf,word...)数据

大数据开发Hadoop工程师-第一课 Java基本知识和JDK的安装配置

Java概述 Java的版本 Java为消费类智能电子产品而设计,但智能家电产品并没有像最初想象的那样拥有大的发展.跨平台是Java语言的核心优势,赶上最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业的"第一大语言",是计算机界的"英语". JavaSE(J2SE)(Java2 Platform Standard Edition)(Java平台标准版) 标准版,定位在个人计算机上的应用.这个版本是Java平台的核心,主要用于桌

大数据学习系列之二 ----- HBase环境搭建(单机)

引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G 2,配置选择 JDK:1.8 (jdk-8u144-linux-x64.tar.gz) Hadoop:2.8.2 (hadoop-2.8.2.tar.gz) HBase:1.6.2 (hbase-1.2.6-bin.tar.gz) 3,下载地址 官网地址: JDK: http

[大数据]-Logstash-5.3.1的安装导入数据到Elasticsearch5.3.1并配置同义词过滤

阅读此文请先阅读上文:[大数据]-Elasticsearch5.3.1 IK分词,同义词/联想搜索设置,前面介绍了ES,Kibana5.3.1的安装配置,以及IK分词的安装和同义词设置,这里主要记录Logstash导入mysql数据到Elasticsearch5.3.1并设置IK分词和同义词.由于logstash配置好JDBC,ES连接之后运行脚本一站式创建index,mapping,导入数据.但是如果我们要配置IK分词器就需要修改创建index,mapping的配置,下面详细介绍. 一.Log

在云计算资源池上自动部署业务应用的大数据平台组件开发实战

在云计算提供的分布式资源池构建能够自动部署业务应用的平台组件,该平台组件能够非常简易的被众多的并发终端使用,从而轻而易举的提供业务支持: 尤其是值得注意的是,如果有需要的话,我们的不同业务组件和业务本身可以发生数据和资源的共享,这对于资源和数据的复用,尤其是对于效率的提升是至关重要的.         课程介绍   基于“在资源池上自动部署业务应用的平台组件”的要求,课程包含Spark的架构设计.Spark编程模型.Spark内核框架源码剖析.Spark的广播变量与累加器.Shark的原理和使用

决胜大数据时代:Hadoop&amp;Yarn&amp;Spark企业级最佳实践(3天)

Hadoop是云计算的事实标准软件框架,是云计算理念.机制和商业化的具体实现,是整个云计算技术学习中公认的核心和最具有价值内容. Yarn是目前公认的最佳的分布式集群资源管理框架: Mahout是目前数据挖掘领域的王者:        工业和信息化部电信研究院于2014年5月发布的“大数据白皮书”中指出: “2012 年美国联邦政府就在全球率先推出“大数据行动计划(Big data initiative)”,重点在基础技术研究和公共部门应用上加大投入.在该计划支持下,加州大学伯克利分校开发了完整

王家林的云计算分布式大数据Hadoop企业级开发动手实践

一:课程简介: Hadoop是云计算分布式大数据的事实标准软件框架,Hadoop中的架构实现是整个云计算产业技术的基础,作为与Google三大核心技术DFS.MapReduce.BigTable相对的HDFS.MapReduce.和HBase也是整个Hadoop生态系统的核心的技术,本课程致力于帮您掌握这三大技术的同时掌握云计算的数据仓库挖掘技术Hive,助您在云计算技术时代自由翱翔. 二:课程特色 1,      深入浅出中动手实作: 2,      掌握Hadoop三大核心:HDFS.Map

Hadoop大数据时代:Hadoop&amp;YarnSpark企业级最佳实践 (4天)

Hadoop.Yarn.Spark是企业构建生产环境下大数据中心的关键技术,也是大数据处理的核心技术,是每个云计算大数据工程师必修课. 大数据时代的精髓技术在于Hadoop.Yarn.Spark,是大数据时代公司和个人必须掌握和使用的核心内容. Hadoop.Yarn.Spark是Yahoo!.阿里淘宝等公司公认的大数据时代的三大核心技术,是大数据处理的灵魂,是云计算大数据时代的技术命脉之所在,以Hadoop.Yarn.Spark为基石构建起来云计算大数据中心广泛运行于Yahoo!.阿里淘宝.腾

18小时内掌握Spark:把云计算大数据速度提高100倍以上

如何把云计算大数据处理速度提高100倍以上?Spark给出了答案. Spark是可以革命Hadoop的目前唯一替代者,能够做Hadoop做的一切事情,同时速度比Hadoop快了100倍以上,下图来自Spark的官方网站: Logistic regression in Hadoop and Spark 可以看出在Spark特别擅长的领域其速度比Hadoop快120倍以上! Spark是基于内存,是云计算领域的继Hadoop之后的下一代的最热门的通用的并行计算框架开源项目,尤其出色的支持Intera