Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

分布式全文搜索引擎:ElasticSearch,Kibana,head,IK,logstash

Notifications You must be signed in to change notification settings

li199773/ElasticSearch

Repository files navigation

ElasticSearch+Kibana+Head+ik+Logstash 8.0 Python 3.8


一.ElasticSearch概述

1.ElasticSearch介绍

ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
ElasticSearch的底层是开源库Lucene,但是没办法直接用Lucene,必须自己写代码去调用它的接口,Elastic是Lucene的封装,提供了REST API的操作接口,开箱即用。天然的跨平台。
全文检索是我们在实际项目开发中最常见的需求了,而ElasticSearch是目前全文检索引擎的首选, 它可以快速的存储,搜索和分析海量的数据,`维基百科,GitHub,Stack Overflow都采用了ElasticSearch`。 

2.ElasticSearch用途

(1)搜索的数据对象是大量的非结构化的文本数据。

(2)文件记录达到数十万或数百万个甚至更多。

(3)支持大量基于交互式文本的查询。

(4)需求非常灵活的全文搜索查询。

(5)对高度相关的搜索结果的有特殊需求,但是没有可用的关系数据库可以满足。

(6)对不同记录类型,非文本数据操作或安全事务处理的需求相对较少的情况。

二.系统配置

Ubuntu:18.04.6 LTS
ip:192.168.81.100 ,192.168.81.101

三.ElasticSearch配置

(1)ElasticSearch不能以root进行启动,为其添加用户权限。

sudo chown -R xxx /usr/local/elasticsearch-8.0.0

(2)配置JDK

Elasticsearch是使用java开发的,且高版本的ES需要JDK版本1.8以上,默认安装包带有jdk环境,如果系统配置JAVA_HOME,那么使用系统默认的JDK,如果没有配置使用自带的JDK。
安装包自带JDK配置:
/usr/local/elasticsearch-8.0.0/bin/elasticsearch-env增加安装包里面JDK即可
JAVA_HOME="/usr/local/elasticsearch-8.0.0/jdk"

(3)修改用户拥有的内存权限

/etc/sysctl.conf文件最后添加一行
执行sysctl -p使其生效 

(4)线程数修改

/etc/security/limits.conf最后一行添加
执行sysctl -p使其生效

四.Kibana安装

1.简介

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
Kibana 可以使大数据通俗易懂。它很简单,基于浏览器的界面便快速创建和分享动态数据仪表板来追踪 Elasticsearch 的实时数据变化。

2.Kibana配置

详情见pdf文档

五.ElasticSearch-Head安装

1.简介

elasticsearch-head被称为是elasticsearch集群的web前端,head插件主要是用来和elastic Cluster交互的Web前端。

2.ElasticSearch-Head配置

ES5以上的版本中安装Elasticsearch-Head必须要安装NodeJs,然后通过NodeJS来启动Head。

六. ElasticSearch操作

(1) _cat操作

(2) 索引操作

(3) 文档操作

(4) 映射操作

(5) 高级查询

1 RESTful
2 查询所有文档
3 匹配查询
4 字段匹配查询
5 关键字精确查询
6 范围查询
7 过滤查询
8 组合查询
9 排序查询
10 分页查询
11 深度分页
12 聚合查询

详情见pdf文件


七. ElasticSearch-Head操作

主要包含以下内容:

1. 集群健康

2. 水平扩容

3. 路由计算

4. 分片控制

5. 写流程

6. 读流程

7. 更新流程


八.IK 分词器

所谓的分词就是通过 tokenizer(分词器)将一个字符串拆分为多个独立的 tokens(词元-独立的单词), 然后输出为 tokens 流的过程。

分类:

1.内置分词器
2.IK中文分词器

自定义词库

1.本地字典配置
2.Nginx远程字典配置

八.Logstash

1.简介

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
logstash从输入源接受数据,直接发送达目的地,或者对数据进行过滤后在传输到目的地。
主要包括以下内容:
(1)Input:输入源
(2)Filter:过滤器
(3)Output:输出源

2.标准输入输出

logstash启动:
/usr/local/logstash-8.0.0//logstash -e 'input { stdin {} } output { stdout {} }'

3.日志采集

1 输出到文件
2 输出到ES
3 指定文件输出

4.过滤器

1.rok正则捕获

过滤ip:
过滤时间戳:
过滤报头:

2.date插件

3.remove_field的用法

4.过滤器解析日志存到es

5.数据迁移

1.配置文件

需要mysql-connector-java 驱动程序

2 配置查询语句

SELECT * FROM mail_2022_01

3 Logstash检查并启动

./logstash -f /usr/local/logstash-8.0.0/my/jdbc.conf -t

详细内容见pdf文件

About

分布式全文搜索引擎:ElasticSearch,Kibana,head,IK,logstash

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /