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)

相关推荐
小阳睡不醒30 分钟前
小白成长之路-部署Zabbix7(二)
android·运维
mCell31 分钟前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记33 分钟前
GPU运维常见问题处理
linux·运维·gpu
caolib1 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
奇舞精选1 小时前
k8s基本概念初探
运维
誰能久伴不乏2 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔2 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula2 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-2 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw3 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器