为了账号安全,请及时绑定邮箱和手机立即绑定

ElasticSearch学习笔记

标签:
大数据
ElasticSearch简介 ElasticSearch 5.2.2安装与运行

1.ElasticSearch下载

[root@Hanuman04 ~] wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz

2.解压到指定目录

tar -zxvf elasticsearch-5.2.2.tar.gz -C /bigdata/

3.修改配置文件(在安装目录的config目录下)

编辑配置文件elasticsearch.yml(配置es的相关配置)
vi /bigdata/elasticsearch-5.2.2/config/elasticsearch.yml
修改
cluster.name: ELK     #集群名称,以此作为是否是同意集群的判断
node.name: es-01   #节点名称,以此作为集群中不同节点的分区条件
path.data: /data/es/data  #数据存储地址
path.logs: /data/es/logs  #日志存储地址
network.host: 192.168.1.34 #(主机地址)对外发布的网络地址
http.port: 9200 #ES默认监听的端口
discovery.zen.ping.unicast.hosts: ["Hanuman04"]
#discovery.zen.minimum_master_nodes: 1
#gateway.recover_after_nodes: 3
编辑配置文件jvm.options(jvm的相关配置)
IMPORTANT: JVM heap size #配置jvm的大小(默认配置是2G)
-Xms2g
-Xmx2g
编辑配置文件log4j2.properties(日志打印输出相关配置,一般不需要修改)
配置文件的参数也可以在启动的时候指定
例如:bin/elasticsearch -Ehttp.port=19200
本地快速启动集群
bin/elasticsearch #默认的配置启动
bin/elasticsearch -Ehttp.port=19200 #修改端口号为19200启动
#看到started说明集群启动成功
查看节点时候组成集群,在浏览器中输入http://ip:port/_cat/nodes
例如:
http:192.168.1.31:9200/_cat/nodes
查看集群相关信息,执行http://ip:port/_cluster/stats
http://192.168.1.31:9200/_cluster/stats
Kibana安装与运行

1.Kibana下载

[root@Hanuman04 ~] wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz

2.解压到指定目录

tar -zxvf kibana-5.2.2-linux-x86_64.tar.gz -C /bigdata/

3.修改配置文件

vi /bigdata/kibana-5.2.2-linux-x86_64/config/kibana.yml
server.port: 5601 # Kibana对外访问的端口
server.host: "192.168.1.31" #Kibana对外访问的地址
elasticsearch.url: "http://192.168.1.31:9200" #Kibana需要访问的ElasticSearch的地址
看到server running的时候说明已经跑起来了

4.Kibana常用功能说明

Discover数据搜索查看
Visualize图表制作
Dashboard仪表盘制作
Timelion时序数据的高级可视化分析
DevTools开发者工具(经常会用到)
Managerment配置管理

5.ElasticSearch常用术语

Document文档数据(就是具体存在ES中的一条数据)
Index索引(可以理解为mysql中的数据库)
Type索引中的数据类型(可以理解为mysql中的table)
Field字段,文档的属性
Query DSL查询语法

6.在ElasticSearch中进行CRUD操作

Create创建文档
POST /accounts/person/1
{
    "name":"John",
     "lastname":"Doe",
     "job_description":"Systems asministrator and Linux specialit"
}
#accounts 相当于索引Index
#person 相当于类型Type
Read读取文档
GET /accounts/person/1
update更新文档
POST /accounts/person/1/_update
{
    "name":"John",
     "lastname":"Doe",
     "job_description":"Systems asministrator and Linux specialit"
}
Delete删除文档
DELETE /accounts/person/1

7.ElasticSearch Query的查询语法

 第一种Query String
GET /accounts/person/_search?q=john
第二种Query DSL
GET /accounts/person/_search
{
    "query" :{
        "match" :{
            "name" : "john"
        }
    }
}
Beats简介
官方定义:轻量级的数据传送者(beat处于数据的初始端,主要针对日志文件进行处理)
Filebeat 日志文件
Metricbeat 度量数据
Packetbeat 网络数据
Winlogbeat 针对Windows的日志数据
Heartbeat 健康检查

1.Filebeat处理流程

Filebeat有两个组成部分Prospector和Harvester
Prospector 探测日志是否有变化
Harvester 从每个文件中收集数据
输入Input
处理Filter
输出Output

2.Filebeat Input配置

yaml语法

3.Filebeat Output配置

4.Filebeat Filter配置

Logstash简介

1.下载Logstash

[root@Hanuman04 ~] wget https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz

2.解压到指定目录

tar -zxvf logstash-5.2.2.tar.gz -C /bigdata/
处理流程以及配置
Input配置
input{file { path => "/tmp/abc.log" }}
Filter配置
1.Grok 基于正则表达式提供了丰富可重用的模式,可以将非结构化数据转换为结构化数据处理
实例:

2.Date 将字符穿类型的时间字段转换为时间戳类型,方便后续数据处理

3.Mutate 针对结构化的数据字段进行增删改查等处理

Output配置
output {stdout { codec => rubydebug}}
点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消