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)

相关推荐
咕噜企业分发小米1 分钟前
如何利用云服务器搭建游戏服务器并实现跨平台游戏?
运维·服务器·游戏
一颗青果4 分钟前
进程组 | 会话 |终端 | 前台后台 | 守护进程
linux·运维·jvm
古城小栈6 分钟前
Rust 交叉编译:Windows ====> Linux (musl 静态编译)
linux·windows·rust
!执行15 分钟前
高德地图 JS API 在 Linux 系统的兼容性解决方案
linux·前端·javascript
m0_748245921 小时前
Docker 容器基本操作
运维·docker·容器
咋吃都不胖lyh1 小时前
Docker 是什么?全面解析容器化技术
运维·docker·容器
Xの哲學1 小时前
Linux SKB: 深入解析网络包的灵魂
linux·服务器·网络·算法·边缘计算
阿杰 AJie1 小时前
Docker 常用镜像启动参数对照表
运维·docker·容器
Elastic 中国社区官方博客1 小时前
JINA AI 与 Elasticsearch 的集成
大数据·人工智能·elasticsearch·搜索引擎·全文检索·jina
cui__OaO2 小时前
Linux内核--基于正点原子IMX6ULL开发板的内核移植
linux·嵌入式