前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch学习(一)什么是ELK?相关概念是什么?在虚拟机里面安装es,Kibana

Elasticsearch学习(一)什么是ELK?相关概念是什么?在虚拟机里面安装es,Kibana

作者头像
一写代码就开心
发布2021-03-02 14:45:03
5820
发布2021-03-02 14:45:03
举报
文章被收录于专栏:java和python

目录

  • 什么是ELK
  • 功能分类
  • 为什么选择elasticsearch(技术选型)
  • 相关概念
    • 和集群相关
      • cluster
      • shards
      • replicas
      • Index(相当于表)
      • Document
      • 元数据
      • 倒排索引
  • 在虚拟机里面的docker里面安装es
  • 在虚拟机里面安装Kibana

什么是ELK

ELK是Elasticsearch、Logstash、Kibana三个软件首字母。 Elasticsearch: 全文检索工具。和之前学习的Solr功能是类似的。 Kibana:页面管理工具。可以通过Kibana的管理界面操作Elasticsearch Logstash:日志收集的工具,通过此工具可以实现日志内容收集及格式转换。也就是将日志输入到这个里面,之后进行转换,再输出到Elasticsearch中,我们就可以在Elasticsearch中检索日志了。

功能分类

Elasticsearch具备两个主要功能: 搜索。功能和Solr类似。 分析。结合LogStash使用。

为什么选择elasticsearch(技术选型)

为了实现全文检索 Mysql也可以实现全文检索,但是国内很多的人不会选择,选择的主流是这个 如果数据库大的话,推荐使用elasticsearch。 Mysql为了达到查询快,使用索引,但是数据和索引是存放在磁盘上面, Elasticsearch是索引在内存,数据在磁盘上面。

相关概念

和集群相关

cluster

集群。 Elasticsearch集群由一或多个节点组成,其中有一个主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。Elasticsearch的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部看Elasticsearch集群,在逻辑上是个整体,你与集群中的任何一个节点通信和与整个Elasticsearch集群通信是等价的。也就是说,主节点的存在不会产生单点安全隐患、并发访问瓶颈等问题。

shards

primary shard:代表索引的主分片,Elasticsearch可以把一个完整的索引分成多个primary shard,这样的好处是可以把一个大的索引拆分成多个分片,分布存储在不同的Elasticsearch节点上,从而形成分布式存储,并为搜索访问提供分布式服务,提高并发处理能。primary shard的数量只能在索引创建时指定,并且索引创建后不能再更改primary shard数量。

replicas

replica shard:代表索引主分片的副本,Elasticsearch可以设置多个replica shard。replica shard的作用:一是提高系统的容错性,当某个节点某个primary shard损坏或丢失时可以从副本中恢复。二是提高Elasticsearch的查询效率,Elasticsearch会自动对搜索请求进行负载均衡,将并发的搜索请求发送给合适的节点,增强并发处理能力。

Index(相当于表)

索引。相当于关系型数据库中的表。其中存储若干相似结构的Document数据。如:客户索引,订单索引,商品索引等。Elasticsearch中的索引不像数据库表格一样有强制的数据结构约束,在理论上,可以存储任意结构的数据。但了为更好的为业务提供搜索数据支撑,还是要设计合适的索引体系来存储不同的数据。

Document

文档。Elasticsearch中的最小数据单元。一个Document就是一条数据,一般使用JSON数据结构表示。每个Index下的Type中都可以存储多个Document。一个Document中可定义多个field,field就是数据字段。如:学生数据({“name”:“张三”, “age”:20, “gender”:“男”})。

元数据

在Elasticsearch中所有以“_”开头的属性都成为元数据,都有着自己特定的含义。 例如:_index:表示索引

倒排索引

对数据进行分析,抽取出数据中的词条,以词条作为key,对应数据的存储位置作为value,实现索引的存储。这种索引称为倒排索引。倒排索引是Document写入Elasticsearch时分析维护的。

传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置。而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表 即为倒排索引。有了倒排索引,就能实现 o(1)时间复杂度的效率检索文章了,极大的提高了 检索效率。

在虚拟机里面的docker里面安装es

1 打开虚拟机

在这里插入图片描述
在这里插入图片描述

2 开启docker

在这里插入图片描述
在这里插入图片描述

如果docker还没有开启。需要先开始docker软件 systemctl start docker 拉取Elasticsearch镜像 docker pull elasticsearch:7.6.1

在这里插入图片描述
在这里插入图片描述

=========================================== 3创建并启动容器 –name 名字为es -d 后台启动 -p 端口号。9200restful访问端口,9300为java代码访问端口 docker run --name=es -d -p 9200:9200 -p 9300:9300 elasticsearch:6.8.4

docker run --name=es -d -p 9200:9200 -p 9300:9300 elasticsearch:7.6.1

以上就安装了es,并且进行了启动

docker logs -f es

既然已经es软件启动了,那么我们看看如何连接这个软件? curl http://localhost:9200 执行以上的命令之后,我们可以看到返回的数据是:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
{
  "name" : "pkshWK7",        当前es节点的名称
  "cluster_name" : "docker-cluster",   集群的名称
  "cluster_uuid" : "eJsstaRaQiGwa-d82NY2dw",   集群的唯一的标识
  "version" : {   里面写的是当前es版本的信息
    "number" : "6.8.4",    版本
    "build_flavor" : "default",
    "build_type" : "docker",    当前es是docker构建的
    "build_hash" : "bca0c8d",
    "build_date" : "2019-10-16T06:19:49.319352Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.2",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"     es的广告语
}

在虚拟机里面安装Kibana

已经安装了es,我们可以使用命令进行操作了,但是我们现在想要使用界面的形式进行操作, docker pull kibana:6.8.4

2新建并启动容器 192.168.8.142 Docker所在服务器的IP –link es:es 中第一个es是容器名,第二个es是容器别名。设置link后才能让容器互通。 docker run -it -d -e ELASTICSEARCH_URL=http://192.168.40.145:9200 --name kibana --link es:es -p 5601:5601 kibana:6.8.4

以上命令就启动了Kibana。并且Kibana连接了es

在浏览器输入 http://192.168.40.145:5601

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 什么是ELK
  • 功能分类
  • 为什么选择elasticsearch(技术选型)
  • 相关概念
    • 和集群相关
      • cluster
      • shards
      • replicas
      • Index(相当于表)
      • Document
      • 元数据
      • 倒排索引
  • 在虚拟机里面的docker里面安装es
  • 在虚拟机里面安装Kibana
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档