ElasticStack基本部署

ElasticStack基本部署与介绍

1.ELK

ELK是三款软件的简称,分别是Elasticsearch、 Logstash、Kibana组成,在发展的过程中,又有新成员Beats的加入,所以就形成了Elastic Stack。所以说,ELK是旧的称呼,Elastic Stack是新的名字。

在这里插入图片描述
全系的Elastic Stack技术栈包括:

在这里插入图片描述

2.ElasticSearch安装与介绍

2.1介绍

Elasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
ElasticSearch是Elastic Stack的核心,同时Elasticsearch 是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为Elastic Stack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

2.2下载

https://www.elastic.co/cn/downloads/elasticsearch

在这里插入图片描述

2.3配置

下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:
在这里插入图片描述
因为ElasticSearch不支持Root用户直接操作,因此我们需要创建一个elsearch用户

# 添加新用户
useradd elsearch

# 然后通过xftp工具,将刚刚下载的文件传输到linux

# 解压缩
tar -zxvf elasticsearch-7.9.1-linux-x86_64.tar.gz

#重命名
mv elasticsearch-7.9.1/ elasticsearch

因为刚刚我们是使用root用户操作的,所以我们还需要更改一下elasticsearch文件夹的所属,改为elsearch用户

chown elsearch:elsearch elasticsearch/ -R

然后再切换成elsearch用户进行操作# 切换用户

su - elsearch

然后我们就可以对我们的配置文件进行修改了

# 进入到 elsearch下的config目录
cd /elasticsearch/config
#打开配置文件
vim elasticsearch.yml 

附上我的配置作为参考

#配置节点
cluster.initial_master_nodes: ["node-1"]
#允许外网访问
network.host: 0.0.0.0
#设置对外暴露的端口
http.port: 9200
#设置节点的名称,要与第一项一致
node.name: node-1
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址
http.cors.allow-origin: "*"
#防止磁盘占用过高
cluster.routing.allocation.disk.threshold_enabled: false  

在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的话,就会认为是生产环境,会对环境的要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改2处配置,如下:

# 修改jvm启动参数
vim conf/jvm.options

#根据自己机器情况修改
-Xms128m 
-Xmx128m

然后在修改第二处的配置,这个配置要求我们到宿主机器上来进行配置

# 到宿主机上打开文件
vim /etc/sysctl.conf
# 增加这样一条配置,一个进程在VMAs(虚拟内存区域)创建内存映射最大数量
vm.max_map_count=655360
# 让配置生效
sysctl -p

启动ElasticSearch

首先我们需要切换到 elsearch用户

su - elsearch

然后在到bin目录下,执行下面

# 进入bin目录
cd /soft/elsearch/bin
# 后台启动
./elasticsearch -d

启动成功后,访问下面的URL

http://192.168.255.5:9200/

如果出现了下面的信息,就表示已经成功启动了

在这里插入图片描述

2.4错误汇总

1.ELASTICSEARCH-HEAD 连接不上ELASTICSEARCH

原因:可能是config/elasticsearch.yml文件的配置问题。
解决方法:

附上我的配置作为参考

#配置节点
cluster.initial_master_nodes: ["node-1"]
#允许外网访问
network.host: 0.0.0.0
#设置对外暴露的端口
http.port: 9200
#设置节点的名称,要与第一项一致
node.name: node-1
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址
http.cors.allow-origin: "*"
#防止磁盘占用过高
cluster.routing.allocation.disk.threshold_enabled: false  

2.ElasticSerach 出现 high disk watermark [90%] exceeded on

原因:磁盘空间不足,配置了集群的话,索引会不健康。
解决办法:
在elasticserach.yml配:

cluster.routing.allocation.disk.threshold_enabled: false

3.failed to obtain node locks, tried [[/usr/local/elasticsearch-6.3.2/data/my-application]] with lock

原因是已经有一个elastic进程在启动了(使用后台启动容易引发这个错误),杀掉重启即可。

ps aux | grep elasticsearch
kill - 9 进程ID

4.es启动报错: [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]

修改config目录下的 elasticsearch.yml文件

cluster.initial_master_nodes: ["node-1"]

5.elasticsearch7.x安装异常 ERROR: [2] bootstrap checks failed. You must address the points described in th

在这里插入图片描述
6.ElasticSearch启动报错,bootstrap checks failed

修改elasticsearch.yml配置文件,允许外网访问。

network.host: 0.0.0.0

7.浏览器访问不到elasticsearch服务

有可能就是linux防火墙忘记关了…

systemctl stop firewalld

3.Beats安装与介绍

3.1介绍

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、MongoDB MySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务;

Beats和Logstash其实都可以进行数据的采集,但是目前主流的是使用Beats进行数据采集,然后使用 Logstash进行数据的分割处理等,早期没有Beats的时候,使用的就是Logstash进行数据的采集。

3.2下载

Filebeat
Metricbeat

在这里插入图片描述

3.3配置

这里以Filebeat为例,其它的beats都差不多。

下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:

在这里插入图片描述
后期如果要使用,需要创建一个yml文件,然后使用该yml文件来启动filebeat。
关于yml文件的格式,下面以filebeat连接kafka的yml文件为例:

version: "2.13-2.7.1"
filebeat.inputs:
- type: log
  enabled: true
  paths:
     - /home/admin/*.log            #监听的日志文件
filebeat.config.modules:
  path: ../modules.d/*.yml
  reload.enabled: true
setup.template.settings:
  index.number_of_shards: 3
output.kafka:
  enabled: true
  hosts: ["127.0.0.1:9093"]     # kafka集群配置
  topic: test03   #kafka 订阅的主题

4.Kibana安装与介绍

4.1介绍

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

4.2下载

https://www.elastic.co/cn/downloads/kibana

在这里插入图片描述

4.3配置

下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:

在这里插入图片描述
后期如果要使用,需要先修改config目录中的配置文件。

5.Logstash安装与介绍

5.1.介绍

Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到最喜欢的存储库中(我们的存储库当然是ElasticSearch)

5.2下载

https://www.elastic.co/cn/downloads/logstash

在这里插入图片描述

5.3配置

下载完以后,先不要解压。可以使用xftp传输至linux,然后创建一个新的文件夹,解压到这个文件夹中。
解压完成后进入该目录:
在这里插入图片描述

后期如果要使用,需要先修改config目录中的配置文件。

posted @ 2021-10-24 17:08  Dawnlight-_-  阅读(197)  评论(0编辑  收藏  举报