1、Elastic Stack简介及ElasticSearch环境搭建

1、 Elastic Stack简介

提到Elastic Stack,就得先说下ELK。ELK其实是Elasticsearch、LogStash、Kibana组件的简称。在ELK不断发展的过程中,不断地有新的组件Beats加入 就形成了现在的Elastic Stack体系。

1.1、Elasticsearch

Elasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

1.2、Logstash

Logstash 是基于java的一个开源的用于收集,分析和存储日志的工具

1.3、kibana

Kibana 基于nodejs,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的Web 界面,可以汇总、分析和搜索重要数据日志。

1.4、Beats

Beats是elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。

Beats由如下组成:

  • Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,Packetbeat嗅探服务器之间的流量,解析应用层协议,并关联到消息的处理,其支持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、Redis、MongoDB、Memcache等协议;
  • Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder;
  • Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集 Apache、HAProxy、MongoDBMySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务;
  • Winlogbeat:用于监控、收集Windows系统的日志信息
2、Elasticsearch
2.1、简介

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

其官网网站https://www.elastic.co/cn/elasticsearch/

2.2、安装

前置条件:安装jdk1.8

版本须知:Elasticsearch的发展是非常快速的,所以在ES5.0之前,ELK的各个版本都不统一,出现了版本号混乱的状态,所以从5.0开始,所有Elastic Stack中的项目全部统一版本号

本次以最新的6.5.1版本来学习。版本下载地址es版本下载地址。根据自己的操作系统下载对应的版本即可。

## 下载elasticsearch-6.5.1.tar.gz
## 解压缩
tar -xvf elasticsearch-6.5.1.tar.gz -C .
2.3、包结构介绍
目录描述
bin脚本文件,包括启动es、安装插件,运行统计数据等
config集群配置文件,user/roles等配置
logs日志文件
libJava类库
modules包含es所有模块
plugins所有已安装的插件
2.4、单机运行
  1. 修改elasticsearch.yml文件
## 修改配置文件
vi elasticsearch.yml
network.host: 0.0.0.0  #设置ip地址,任意网络均可访问
  1. 修改jvm参数
## 修改jvm启动参数
##在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,会对环境的要## 求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下
vim conf/jvm.options
-Xms128m #根据自己机器情况修改
-Xmx128m #根据自己机器情况修改
  1. 启动ElasticSearch
## 前台启动
./bin/elasticsearch 
## 后台启动
./bin/elasticsearch -d

在这里插入图片描述
若以前台启动 看到以上日志说明启动成功。还可以通过访问http://localhost:9200来验证,如下:
在这里插入图片描述

2.5、集群模式运行

以1主2从为例 演示配置文件的调整

master节点 elasticsearch.yml中新增以下内容

http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: wojiushiwo-test #集群名称
node.name: master             #节点id
network.host: 127.0.0.1       #对外公开的ip地址
node.master: true             #标记是否为主节点

slave-1节点 elasticsearch.yml中新增以下内容

http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: wojiushiwo-test #集群名称
node.name: slave-2             #节点id
network.host: 127.0.0.1       #对外公开的ip地址
http.port: 8200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

slave-2节点 elasticsearch.yml中新增以下内容

http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: wojiushiwo-test #集群名称
node.name: slave-1             #节点id
network.host: 127.0.0.1       #对外公开的ip地址
http.port: 8000
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] #集群的IP组

随后分别启动三个节点即可。

2.6、ElasticSearch的重启

先通过jpsjsp -l找到ElasticSearch进程及pid,随后终止进程 kill pid。然后重新运行ElasticSearch

➜  elasticsearch-master jps -l
15811 org.elasticsearch.bootstrap.Elasticsearch
16852 sun.tools.jps.Jps
kill 15811
2.7、查看集群信息

查看集群中的节点http://localhost:9200/_cat/nodes?v

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           38          99  15    2.52                  mdi       -      slave-1
127.0.0.1           35          99  15    2.52                  mdi       -      slave-2
127.0.0.1           44          99  15    2.52                  mdi       *      master

查看集群的健康状况 GET方式 http://localhost:9200/_cluster/health

{
"cluster_name": "wojiushiwo-test",
"status": "green",
"timed_out": false,
"number_of_nodes": 3,
"number_of_data_nodes": 3,
"active_primary_shards": 8,
"active_shards": 11,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
}

请留意 👆json中的status

  • green 主分片与副本都正常分配
  • yellow 主分片全部正常分配、有副本分片未能正常分配
  • Red 有主分片未能分配
    • 比如 当服务器的磁盘容量超过85%时,无法去创建一个新的索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值