大数据之Elasticsearch入门——第一章Elasticsearch基础

1.Elasticsearch介绍

Elasticsearch不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的Elasticsearch.

数据库的功能面对很多领域是不够用的(事务,还有各种联机事务型的操作);特殊的功能,比如全文检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理;Elasticsearch作为传统数据库的一个补充,提供了数据库所不不能提供的很多功能.

Elasticsearch是我见过的最简单的数据分析处理的工具,单机运行的话下载后解压一下简单配置后就能用,分布式集群也就稍微多一点配置。

2.Elasticsearch功能

(1)分布式的搜索引擎和数据分析引擎

(2)全文检索,结构化检索,数据分析(不支持关联查询)

(3)对海量数据进行近实时的处理

3.Elasticsearch功能

(1)Near Realtime(NRT):近实时。包括写入数据到数据能被查询到(秒级),基于es执行的搜索分析达到秒级。

(2)Cluster:集群。包含多个节点,最简单的集群就是一个节点构成的集群。

(3)Node:节点。集群中的一个节点,每个节点有一个默认的名称。

(4)Document&field:文档,es中最小的数据单元。document可以理解为mysql中的一行数据,field可以理解为mysql中一行数据的某个字段。

(5)Index:索引,包含一堆有相似结构的文档数据。index可以理解为mysql的库,和传统数据库中的索引不是一个概念。

(6)Type:类型,每个索引里都可以有一个或多个type。type可以理解为mysql里的表。注意从ES6.x开始,type的概念就淡化了,在es6.x里面,type默认为_doc,也就是一个index里面就只有一个type,名字是_doc。从ES7.x开始,就取消了type。

(7)shard:又叫做primary shard。单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。这样在es上执行搜索和分析的性能得到更好的提升。primary shard是建立索引时设置的,不能修改,默认5个。

(8)replica:又叫做replica shard。任何一个服务器随时可能故障或宕机,此时primary shard可能就会丢失,因此可以为每个primary shard创建多个replica副本。replica可以在primary shard故障时提供备用服务,保证数据不丢失。replica shard可以随时修改数量,默认是1个。

默认情况下每个索引10个shard,5个primary shard,同时就会有5个replica shard。通常情况下把primary shard称为shard,replica shard称为replic。增减节点时,shard会自动在nodes中负载均衡,shard的个数不会变,但是数据会做负载均衡。shard的数量在创建索引的时候就固定了,replica的数量可以随时修改(增加replic可以提高集群吞吐量,性能更好)。shard不能和自己的replica放在同一个节点上(否则节点宕机,shard和replica都丢失,起不到容错的作用),但是可以和其他索引的shard的replica放在同一个节点上。

针对shard和replic举个例子,搭建一个单节点的es集群。创建一个索引,然后分配3个shard,那么这个索引默认会有3个replic。3个shard会分配到一个节点上,但是另外3个replic无法分配。集群可以正常工作,不过集群一旦宕机,集群就不可用。

对比一下传统的数据库就能大致了解es了。

Elasticsearch            mysql数据库

Document                        行
Type                                表
Index                               库 

4.Elasticsearch安装

去官网下载Elasticsearch和kibana,我下载的都是6.6.0版本的。这里说下Elasticsearch,logstash,kibana就是常说的ELK。logstash和flume很像,用来做日志数据采集的。kibana用来做可视化分析的。

1.安装java, version在1.8以上。

2.解压Elasticsearch,进入bin目录,直接启动elasticsearch.sh即可。(windows也一样,启动elasticsearch.bat即可,如果是单纯学习elasticsearch建议下载windows版本的,因为不用开启虚拟机。)

3.访问http://localhost:9200/?pretty,页面上会打印如下信息,证明elasticsearch启动成功。

{
  "name" : "1q8X7U4",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "iKjNXfpBTRCiFgOOZV7ROg",
  "version" : {
    "number" : "6.6.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "a9861f4",
    "build_date" : "2019-01-24T11:27:09.439740Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

4.解压kibana,进入bin目录,直接启动kibana.sh即可。(window启动kibana.bat即可)

5.访问http://localhost:5601/app/kibana,能正常访问说明kibana安装成功。

6.选择kibana左侧的Dev tools,在这里写query dsl能帮助我们更好学习es,你可以将kibana理解为es的可视化界面操作,当然他的功能不仅仅于此。

7.在Dev Tools的console里面输入GET _cluster/health,并点击右边的三角号执行。界面右边会显示es集群的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值