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)

相关推荐
bsauce7 分钟前
【kernel exploit】CVE-2026-23271 perf_event竞态UAF漏洞-ROP提权
linux·linux内核·内核漏洞·内核漏洞利用
三十..12 分钟前
Ceph分布式存储核心技术精要与运维实践指南
运维·分布式·ceph
tianyuanwo23 分钟前
Jenkins × Gerrit 集成:自动触发构建的全流程解析
运维·servlet·jenkins
Hehuyi_In38 分钟前
从优雅到爆烈 —— Linux全力回收内存的一生
linux·内核·内存·memory·回收
Elastic 中国社区官方博客1 小时前
Elasticsearch 如何通过 synthetic _id 和 Bloom filters 将时序存储降低 34%
大数据·数据库·elasticsearch·搜索引擎·serverless·全文检索·时序数据库
顾默@1 小时前
双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装
运维·docker·容器
杨充1 小时前
1.1 数据编码设计原理
linux·运维·网络·底层原理·数据编码
fan_music1 小时前
Linux I/O
linux
一只鹿鹿鹿1 小时前
信息化项目管理规范(参考Word文件)
java·大数据·运维·开发语言·数据库
Java小白笔记1 小时前
Linux 手动部署 Oracle JDK 17 完全指南
java·linux·oracle