部署Elasticsearch (es01/es02同时操作)
(1)初始化工作
准备es01,es02两台虚拟机
安装基础软件
#配置rockylinux9.6的yum源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
-i.bak \
/etc/yum.repos.d/rocky*.repo
dnf makecache
yum install wget vim net-tools -y
selinux、firewall关闭、设置时区
timedatectl set-timezone Asia/Shanghai
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
时间同步 es01端配置时间服务器(2台服务器时间保持一致,配置elk01为本地ntpserver)(etc/ntp.conf)
#es01
sudo vi /etc/chrony.conf
# Allow NTP client access from local network.
allow 192.168.92.0/24
sudo systemctl restart chronyd
#es02
sudo vi /etc/chrony.conf
#注释掉默认的公共服务器池,添加服务端地址
#pool 2.rocky.pool.ntp.org iburst
server 192.168.92.14 iburst # 替换为你的服务端 IP
设置主机名的解析,简单来说,它相当于一个微型 DNS,让系统知道当你访问 es01 这个名字时,应该连接到 192.168.92.14。
[root@es01 ~]# vi /etc/hosts #这里两台机器(es01,es02)都要配
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.92.14 es01
192.168.92.15 es02
修改打开文件最大数(es01、02双节点配置)
vi /etc/security/limits.conf
* soft nproc 655350
* hard nproc 655350
* soft nofile 655350
* hard nofile 655350
用户退出后重新登录生效(两台机器都要这样设置)
[root@es01 ~]# reboot
(2)安装java环境
yum update -y
yum install java-1.8.0-openjdk* -y
java -version
(3)安装elasticsearch
两种方式:(1)官网直接下载安装包再上传终端 (2)wget命令直接拉取
下载地址:(官网新版本是8.8的版本)
本课程下载的是7.17.10的rpm包(下载到Windows系统后,通过终端软件上传)
#联网拉取安装包 或者直接从下载区下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-x86_64.rpm
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.10-x86_64.rpm
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.10-x86_64.rpm
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.10-x86_64.rpm
[root@es01 ~]# ls
anaconda-ks.cfg kibana-7.17.10-x86_64.rpm
elasticsearch-7.17.10-x86_64.rpm logstash-7.17.10-x86_64.rpm
filebeat-7.17.10-x86_64.rpm
#安装 Elasticsearch,yum -y install 安装本地当前目录下的 elasticsearch-7.17.10-x86_64.rpm 包,-y 参数会自动确认安装。
[root@es01 ~]# yum -y install elasticsearch-7.17.10-x86_64.rpm
#Elasticsearch 创建存放数据和日志的目录。它会在 /data 下生成两个子目录:esdata(用于存储数据)和 eslogs(用于存储日志)。(es01,02都要创建)
[root@es01 ~]# mkdir -p /data/es/{data,logs}
#递归地更改 /data/es 目录及其内部所有文件和子目录的所有者和组为 elasticsearch 用户和 elasticsearch 组。(es01,02都要修改)
[root@es01 data]# chown -R elasticsearch:elasticsearch /data/es
修改elasticsearch配置文件(es01,es02都要修改)
[root@es01 ~]# cd /etc/elasticsearch/
[root@eso1 elasticsearch]# cp /etc/elasticsearch/elasticsearch.yml{,.bak} #备份]
[root@es01 elasticsearch]# vi elasticsearch.yml
es01配置文件
#17行:修改elk集群名称(es01,es02最好集群名字一样)
cluster.name: es-cluster
#23行:修改节点名称(要和host文件里面写的主机名称是对应的上的)
node.name: es01
#30行:修改家目录(定义后续的数据目录文件是哪里,/data/es/data是之前手动创建的)
path.data:/data/es/data
#37行:修改日志路名(存放日志文件的位置是哪里,/data/es/logs是之前手动创建的)
path.logs: /data/es/logs
#56行:绑定到所有可用网络接口(我可以允许哪些ip,端口来访问我)
network.host:0.0.0.0 #公开访问
#61行:启动服务端口(把注释解除掉)
http.port:9200
#70行:集群里面的节点(这里只有两个,es01,es02)
discovery.seed_hosts: ["es01", "es02"]
#74行:声明在当前集群哪个是主节点(es01)
cluster.initial_master_nodes: ["es01"]
es02配置文件
#17行:修改elk集群名称
cluster.name: es-cluster
#23行:修改节点名称
node.name: es02
#30行:修改家目录
path.data: /data/es/data
#37行:修改日志路径
path.logs: /data/es/logs
#56行:绑定到所有可用网络接口
network.host:0.0.0.0 #公开访问
#61行:启动服务端口
http.port: 9200
#70行:指定集群节点,主节点备用节点
discovery.seed_hosts: ["es01","es02"]
#74行:指定master节点
cluster.initial_master_nodes:["es01"]
启动,开机自启
systemctl start elasticsearch
systemctl enable elasticsearch
首次启动可能会启动失败,查看日志:
tail -f /data/es/logs/elk-cluster.log

elasticsearch(双节点)安装完毕!