ELK集群搭建

发布于:2024-07-11 ⋅ 阅读:(23) ⋅ 点赞:(0)

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)]