ELK日志分析平台——elasticsearch分布式部署
一、elasticsearch简介
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上,其特点如下: 1、一个分布式的实时文档存储,每个字段可以被索引与搜索 2、一个分布式实时分析搜索引擎 3、能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构 化数据
基础模块
? cluster:管理集群状态,维护集群层面的配置信息。 ? alloction:封装了分片分配相关的功能和策略。 ? discovery:发现集群中的节点,以及选举主节点。 ? gateway:对收到master广播下来的集群状态数据的持久化存储。 ? indices:管理全局级的索引设置。 ? http:允许通过JSON over HTTP的方式访问ES的API。 ? transport:用于集群内节点之间的内部通信。 ? engine:封装了对Lucene的操作及translog的调用。
二、elasticsearch安装与配置
1、软件下载
2、安装软件
rpm -ivh jdk-8u171-linux-x64.rpm
rpm -ivh elasticsearch-7.6.1-x86_64.rpm
3、修改配置文件
cd /etc/elasticsearch/
vim elasticsearch.yml
- matster设定为初始化,要修改需要清空数据目录,再重启服务即可
cat /etc/elasticsearch/elasticsearch.yml
17 cluster.name: my-skk
23 node.name: server1
33 path.data: /var/lib/elasticsearch
37 path.logs: /var/log/elasticsearch
43 bootstrap.memory_lock: true
55 network.host: 172.25.36.1
59 http.port: 9200
68 discovery.seed_hosts: ["server1", "server2","server3"]
72 cluster.initial_master_nodes: ["server1"]
4、修改系统限制
- Xmx设置不超过物理RAM的50%,以确保有足够的物理RAM留给内核文件系统缓存。但不要超过32G。
vim /etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch - nofile 65536
elasticsearch - nproc 4096
vim /etc/elasticsearch/jvm.options
-Xms500M
-Xmx500M
5、修改systemd启动文件
vim /usr/lib/systemd/system/elasticsearch.service
LimitMEMLOCK=infinity
systemctl daemon-reload
6、启动服务,网页访问(访问端须做地址解析)
systemctl start elasticsearch
三、elasticsearch节点设定
- server2和server3主机作server1的节点
1、安装软件
rpm -ivh elasticsearch-7.6.1-x86_64.rpm
2、须完成与上面相同的操作,所以复制server1的文件即可
scp /etc/elasticsearch/elasticsearch.yml server2:/etc/elasticsearch/elasticsearch.yml
scp /etc/elasticsearch/elasticsearch.yml server3:/etc/elasticsearch/elasticsearch.yml
scp /etc/elasticsearch/jvm.options server2:/etc/elasticsearch/jvm.options
scp /etc/elasticsearch/jvm.options server3:/etc/elasticsearch/jvm.options
scp /etc/security/limits.conf server2:/etc/security/limits.conf
scp /etc/security/limits.conf server3:/etc/security/limits.conf
scp /usr/lib/systemd/system/elasticsearch.service server2:/usr/lib/systemd/system/elasticsearch.service
scp /usr/lib/systemd/system/elasticsearch.service server3:/usr/lib/systemd/system/elasticsearch.service
3、配置不同之处修改如下
vim /etc/elasticsearch/elasticsearch.yml
23 node.name: server2
55 network.host: 172.25.36.2
23 node.name: server3
55 network.host: 172.25.36.3
4、重读systemd启动文件,启动服务,网页访问(须做解析)
systemctl daemon-reload
systemctl start elasticsearch
四、elasticsearch插件安装
1、cerebro监控集群
(1)在rhel8.2的真机中使用podman添加镜像
dnf install podman -y
podman load -i cerebro.tar
(2)使用9000端口映射开启进程
podman run -d --name cerebro -p 9000:9000 lmenezes/cerebro
netstat -antlp|grep 9000
(3)访问监控
2、elasticsearch-head监控集群
(1)下载elasticsearch-head插件,并解压
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
yum install -y unzip
unzip elasticsearch-head-master.zip
(2)head插件本质上是一个nodejs的工程,因此需要安装node
wget https://mirrors.tuna.tsinghua.edu.cn/nodesource/rpm_9.x/el/7/x86_64/nodejs-9.11.2-1nodesource.x86_64.rpm
rpm -ivh nodejs-9.11.2-1nodesource.x86_64.rpm
(3)更换npm源安装
cd elasticsearch-head-master/
npm install -g cnpm --registry=https://registry.npm.taobao.org
(4)安装插件
yum install bzip2 -y
cnpm -v
cnpm install
(5)启动服务在后台运行
cnpm run start &
(6)修改elasticsearch配置文件,修改ES跨域主持
- server1~3都要修改,要从master开始重启
vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
systemctl restart elasticsearch
(7)访问9100端口,监控9200端口
|