ELK集群搭建

ELK集群搭建

文章目录

1.环境准备

Elasticsearch官网

安装软件 ip地址 主机名字 系统版本 配置
Elasticsearch 192.168.37.90 ELK centos8 4核4G
Elasticsearch 192.168.37.91 es1 centos8 4核4G
Elasticsearch 192.168.37.92 es2 centos8 4核4G
Kibana 192.168.37.93 kibana centos8 1核2G

关闭防火墙,selinux开始实验

2.Elasticsearch环境搭建

1.创建es账户并设置密码

(三台机器都要执行)

复制代码
useradd es
echo "密码" | passwd --stdin "es"

2.选择对应版本进行下载

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7YLwQWW-1720670904019)(https://i-blog.csdnimg.cn/direct/a9b35dece3814fb08672cefc1809b14d.jpeg#pic_center)

解压后并把文件夹改名成es

复制代码
[root@ELK ~]# ls
anaconda-ks.cfg  elasticsearch-8.14.2-linux-x86_64.tar.gz
[root@ELK ~]# tar xf elasticsearch-8.14.2-linux-x86_64.tar.gz -C /usr/local/
[root@ELK ~]# cd /usr/local/
[root@ELK local]# mv elasticsearch-8.14.2 es
[root@ELK local]# ls
bin  es  etc  games  include  lib  lib64  libexec  sbin  share  src

3.编辑配置文件

复制代码
[root@ELK es]# vim config/elasticsearch.yml

全部删除,编辑以下内容

复制代码
cluster.name: bjbpe01-elk (集群名称)
cluster.initial_master_nodes: ["192.168.37.90","192.168.37.91","192.168.37.92"] (这一条填写集群服务器的所有ip,ip越靠左权重越高)
node.name: elk01 (集群中名字不能相同)
node.master: true
node.data: true
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
#单节点模式下,将discovery开头的行注释
discovery.seed_hosts: ["192.168.37.91","192.168.37.92"] (填写另外两个es主机的ip)
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 150s
discovery.zen.fd.ping_retries: 10
client.transport.ping_timeout: 60s
http.cors.enabled: true
http.cors.allow-origin: "*"

4.设置JVM堆大小 #7.0默认为4G

复制代码
sed -i 's/## -Xms4g/-Xms4g/' /usr/local/es/config/jvm.options  
sed -i 's/## -Xmx4g/-Xmx4g/' /usr/local/es/config/jvm.options

确保堆内存最小值(Xms)与最大值(Xmx)的大小相同,防止程序在运行时改变堆内存大小。

如果系统内存足够大,将堆内存最大和最小值设置为31G,因为有一个32G性能瓶颈问题。

堆内存大小不要超过系统内存的50%

5.创建es数据及日志存储目录

复制代码
mkdir -p /data/elasticsearch/data 
mkdir -p /data/elasticsearch/logs

6.修改安装目录和存储目录权限

复制代码
chown -R es.es /data/elasticsearch
chown -R es.es /usr/local/es

3.系统优化

1.增加最大文件打开数

永久生效

复制代码
[root@ELK ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf

2.增加最大进程数

复制代码
echo "* soft nproc 65536" >> /etc/security/limits.conf

3.增加最大内存映射数

复制代码
[root@ELK ~]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@ELK ~]# sysctl -p
vm.max_map_count = 262144

4.启动

复制代码
启动命令
su - es -c "cd /usr/local/es && nohup bin/elasticsearch "
[root@ELK ~]# ss -antl
State         Recv-Q        Send-Q               Local Address:Port               Peer Address:Port       Process       
LISTEN        0             128                        0.0.0.0:22                      0.0.0.0:*                        
LISTEN        0             2048                             *:9200                          *:*                        
LISTEN        0             2048                             *:9300                          *:*                        
LISTEN        0             128                           [::]:22                         [::]:* 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nQJ3uz1k-1720670904021)(https://i-blog.csdnimg.cn/direct/ff6b403921e142ee991148c4e0916a5c.png#pic_center)

验证,访问:本机ip:9200

5.安装kibana主机

1. 安装配置Kibana

kibana下载地址

复制代码
[root@kibana ~]# tar xf kibana-7.13.2-linux-x86_64.tar.gz -C /usr/local/
[root@kibana ~]# vim /usr/local/kibana-7.13.2-linux-x86_64/config/kibana.yml
添加以下内容
server.port: 5601  #访问端口
server.host: "192.168.37.93"   #本机ip
elasticsearch.hosts: ["http://192.168.37.90:9200"]   #用来做查询的ES节点的URL
kibana.index: ".kibana" 
i18n.locale: "zh-CN"

2.启动

复制代码
cd /usr/local/kibana-7.13.2-linux-x86_64/
启动命令
./bin/kibana
如果报错为Kibana should not be run as root.  Use --allow-root to continue. 在命令后加--allow-root即可

3.访问

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rj0WB78V-1720670904021)(https://i-blog.csdnimg.cn/direct/fd4b58449d344ade9f09076626f4ed42.png#pic_center)

相关推荐
Rabitebla3 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
威嵌神州3 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__4 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo4 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
坤坤子吖7 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump7 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风9 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府9 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT9 小时前
【RHCA+】IO调度算法
linux·服务器
打工仔折腾 AI10 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化