ElasticSearch搭建教程

一、filebeat是什么 (参考https://www.cnblogs.com/zsql/p/13137833.html)
1.1、filebeat和beats的关系
  首先filebeat是Beats中的一员。
  Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。
目前Beats包含六种工具:
Packetbeat:网络数据(收集网络流量数据)
Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
Filebeat:日志文件(收集文件数据)
Winlogbeat:windows事件日志(收集Windows事件日志数据)
Auditbeat:审计数据(收集审计日志)
Heartbeat:运行时间监控(收集系统运行时的数据)

环境搭建教程
1.1安装软件
https://www.elastic.co/cn/downloads/elasticsearch (官网下载链接)
注意:es使用java开发,使用lucene作为核心,7.x版本前需要配置好java环境!(jdk1.8以上)7.x版本有自带的jdk无需安装jdk
类似与tomcat,直接解压即可。其目录结构如下

2.1修改配置文件
修改conf\jvm.option文件

#根据需要设置内存
将#-Xms2g
#-Xmx2g修改成为:
-Xms1g
-Xmx1g

修改conf\elasticsearch.yml文件

config\elasticsearch.yml中末尾加入:
http.cors.enabled: true
http.cors.allow-origin: “*”
network.host: 127.0.0.1
目的是使ES支持跨域请求

2.2 启动
点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志信息如下:

注意:9300是tcp通信端口,es集群之间使用tcp进行通信,9200是http协议端口。
我们在浏览器可以访问:

2.3安装图形化插件(Kibana)
注意:Kibana版本需要与ElasticSearch版本对应
官网链接 https://www.elastic.co/cn/downloads/kibana
直接解压使用

修改config/kibana.yml
在配置文件中需要的配置信息取消注释
(也可以添加信息:
server.port: 5601
server.host: “localhost”
elasticsearch.hosts: [“http://localhost:9200”]

kibana会将部分数据写入es,这个是ex中索引的名字

kibana.index: “.kibana”

)

2.4启动
点击kibana下的bin目录下的kibana.bat启动,控制台显示的日志信息如下:

浏览器输入localhost:5601

3.1 集群的搭建(Windows)

事先elasticsearch文件夹中如果有data可以根据需要选择性删除

1)准备三台elasticsearch服务器:
每一个cluster都是elasticsearch的解压缩文件

目录如下:

2)修改每台服务器的配置
修改\config\elasticsearch.yml配置文件:

#Node节点1:
#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-application
#节点名称,必须不一样
node.name: node-1
#必须为本机的ip地址
network.host: 127.0.0.1
#服务端口号,在同一机器下必须不一样
http.port: 9201
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9301
#设置集群自动发现机器ip集合
discovery.seed_hosts: [“127.0.0.1:9301”, “127.0.0.1:9302”, “127.0.0.1:9303”]
#设置可以成为主节点的集合
cluster.initial_master_nodes: [“127.0.0.1:9301”, “127.0.0.1:9302”]

#Node节点2:
#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-application
#节点名称,必须不一样
node.name: node-2
#必须为本机的ip地址
network.host: 127.0.0.1
#服务端口号,在同一机器下必须不一样
http.port: 9202
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9302
#设置集群自动发现机器ip集合
discovery.seed_hosts: [“127.0.0.1:9301”, “127.0.0.1:9302”, “127.0.0.1:9303”]
#设置可以成为主节点的集合
cluster.initial_master_nodes: [“127.0.0.1:9301”, “127.0.0.1:9302”]

#Node节点3:
#节点1的配置信息:
#集群名称,保证唯一
cluster.name: my-application
#节点名称,必须不一样
node.name: node-3
#必须为本机的ip地址
network.host: 127.0.0.1
#服务端口号,在同一机器下必须不一样
http.port: 9203
#集群间通信端口号,在同一机器下必须不一样
transport.tcp.port: 9303
#设置集群自动发现机器ip集合
discovery.seed_hosts: [“127.0.0.1:9301”, “127.0.0.1:9302”, “127.0.0.1:9303”]
#设置可以成为主节点的集合
cluster.initial_master_nodes: [“127.0.0.1:9301”, “127.0.0.1:9302”]

3)启动各个节点服务器
可以分别启动每个服务器下的elasticsearch.bat,我这里使用的是windows下的批处理文件:
新建一个elasticsearch_cluster_start.bat文件,然后添加下面内容:
格式为:start “需要启动的文件名” “文件的路径” &表示启动A后继续执行。

start “elasticsearch.bat” “D:\Program\elasticsearch-7.10.0\elasticsearch-cluster01\bin\elasticsearch.bat” &
start “elasticsearch.bat” “D:\Program\elasticsearch-7.10.0\elasticsearch-cluster02\bin\elasticsearch.bat” &
start “elasticsearch.bat” “D:\Program\elasticsearch-7.10.0\elasticsearch-cluster03\bin\elasticsearch.bat”

4)启动集群:
点击elasticsearch_cluster_start.bat 同时启动三个节点

打开浏览器输⼊:http://localhost:9201/_cat/health?v ,如果返回的node.total是3,代表集群搭建成功

kibana管理elasticsearch集群:
修改config/kibana.yml
添加管理节点
elasticsearch.hosts: [“http://localhost:9201”, “http://localhost:9202”, “http://localhost:9203”]

浏览器输入localhost:5601 顶部搜索框搜索monitoring,界面中能够查看到被管理的节点

4)安装Metricbeat
metricbeat 仪表盘的安装以及展示:
metricbeat默认开启了system模块,此模块可以收集系统运行的参数,收集之后可以传递给Elasticsearch,由Kibana图像化界面展示Elasticsearch收集到的相关信息
安装包下载地址 https://www.elastic.co/cn/downloads/beats/metricbeat
解压即可使用

修改metricbeat.yml
#设置kibana访问url
setup.kibana:
host: “localhost:5601”
#设置所有需要连接的elasticsearch节点
output.elasticsearch:
hosts: [“localhost:9201”, “localhost:9202”, “localhost:9203”]

在解压文件夹内运行cmd命令行 输入 metricbeat modules enable elasticsearch-xpack

修改 metricbeat-7.10.0\modules.d 内的elasticsearch-xpack.yml
添加连接的elasticsearch节点
hosts: [“http://localhost:9201”, “http://localhost:9202”, “http://localhost:9203”]

启动程序:
方法一、命令行输入metricbeat -e

方法二、管理员身份运行PowerShell
定位到metricbeat路径下
输入get-executionpolicy查看输出策略是不是Restricted,如果是,执行set-executionpolicy remotesigned即可
输入Start-service metricbeat

kibana中monitor中可以监控到所有节点信息

filebeat是什么
  Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。
filebeat仪表盘基于nginx日志收集的在Kibana上安装以及展示:
官网下载 https://www.elastic.co/cn/downloads/beats/filebeat
直接解压使用

修改配置文件filebeat.yml

启动程序:
解压文件夹下命令行输入 filebeat -e 运行

总结:
搭建步骤
elasticsearch
拷⻉elasticsearch-7.10.0安装包3份,分别命名elasticsearch-cluster01,elasticsearch-cluster02,elasticsearch-cluster03
分别修改elasticsearch.yml⽂件。
启动01 ,02 ,03 三个节点。
打开浏览器输⼊:http://localhost:9201/_cat/health?v ,如果返回的node.total是3,代表集群搭建成功
配置elasticsearch.yml⽂件
#集群名称
cluster.name: my-application
#节点名称
node.name: node-1 #是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最⼤集群节点数
node.max_local_storage_nodes: 3
#⽹关地址(先保持注释)
#network.host: 0.0.0.0
#端⼝
http.port: 9201
#内部节点之间沟通端⼝
transport.tcp.port: 9303
#es7.x 之后新增的配置,写⼊候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: [“localhost:9301”,“localhost:9302”,“localhost:9303”]
#es7.x 之后新增的配置,初始化⼀个新的集群时需要此配置来选举master
cluster.initial_master_nodes: [“node-1”, “node-2”,“node-3”]

kibana
打开配置 kibana.yml,添加elasticsearch.hosts: [“http://localhost:9200”,“http://localhost:9201”,“http://localhost:9202”]
启动kibana,可以看到集群信息

Metricbeat
修改metricbeat.yml
#设置kibana访问url
setup.kibana:
host: “localhost:5601”
#设置所有需要连接的elasticsearch节点
output.elasticsearch:
hosts: [“localhost:9201”, “localhost:9202”, “localhost:9203”]

在解压文件夹内运行cmd命令行 输入 metricbeat modules enable elasticsearch-xpack

修改 metricbeat-7.10.0\modules.d 内的elasticsearch-xpack.yml
添加连接的elasticsearch节点
hosts: [“http://localhost:9201”, “http://localhost:9202”, "http://localhost:9203]

管理员身份运行PowerShell
定位到metricbeat路径下 输入Start-service metricbeat 启动程序
kibana监控各个节点信息

filebeat
修改配置文件filebeat.yml
setup.kibana:
host: “localhost:5601”
output.elasticsearch:
hosts: [“localhost:9201”, “localhost:9202”, “localhost:9203”]

猜你喜欢

转载自blog.csdn.net/weixin_51417950/article/details/114810408