1、准备三台服务,ip如下
192.168.37.40 192.168.37.141 192.168.37.48
2、系统设置
将/etc/fstab文件中所有设置为swap的设备关闭
swapoff -a free -h
注释/etc/fstab的swap行
vi /etc/fstab 注释swap行
设置Linux内核参数
vi /etc/sysctl.conf vm.swappiness=1 fs.file-max=655360 vm.max_map_count=262144 net.ipv4.tcp_retries2=5
生效/etc/sysctl.conf配置文件
sysctl -p
设置资源限制配置文件
vi /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 * soft nproc 4096 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited
3、设置防火墙
es检索服务应限制访问ip,将集群节点和需要访问es的ip添加到trusted区域
安装、启动防火墙
yum install firewalld.noarch systemctl enable firewalld.service systemctl start firewalld.service
不同的服务器执行不同的命令
(1)192.168.37.40服务器
firewall-offline-cmd --zone=trusted --add-source=192.168.37.141 firewall-offline-cmd --zone=trusted --add-source=192.168.37.48 systemctl reload firewalld firewall-cmd --list-all-zones
(2)192.168.37.141服务器
firewall-offline-cmd --zone=trusted --add-source=192.168.37.40 firewall-offline-cmd --zone=trusted --add-source=192.168.37.48 systemctl reload firewalld firewall-cmd --list-all-zones
(3)192.168.37.48服务器
firewall-offline-cmd --zone=trusted --add-source=192.168.37.40 firewall-offline-cmd --zone=trusted --add-source=192.168.37.141 systemctl reload firewalld firewall-cmd --list-all-zones
4、es集群搭建
将elasticsearch-7.12.1-linux-aarch64.tar.gz文件上传到/home/elastic/software目录
解压
tar -zxvf elasticsearch-7.12.1-linux-aarch64.tar.gz
JVM配置
vi config/jvm.options.d/java.options -Xms31g -Xmx31g -Dlog4j2.formatMsgNoLookups=true
主要配置,不同的服务器设置不同的参数
(1)192.168.37.40服务器
vi config/elasticsearch.yml cluster.name: hypersearch node.name: node-1 bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: 192.168.37.40,127.0.0.1 discovery.seed_hosts: ["192.168.37.40", "192.168.37.141", "192.168.37.48"] cluster.routing.allocation.same_shard.host: true cluster.initial_master_nodes: node-1
(2)192.168.37.141服务器
vi config/elasticsearch.yml cluster.name: hypersearch node.name: node-2 bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: 192.168.37.141,127.0.0.1 discovery.seed_hosts: ["192.168.37.40", "192.168.37.141", "192.168.37.48"] cluster.routing.allocation.same_shard.host: true cluster.initial_master_nodes: node-1
(3)192.168.37.48服务器
vi config/elasticsearch.yml cluster.name: hypersearch node.name: node-3 bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: 192.168.37.48,127.0.0.1 discovery.seed_hosts: ["192.168.37.40", "192.168.37.141", "192.168.37.48"] cluster.routing.allocation.same_shard.host: true cluster.initial_master_nodes: node-1
新增账户(不要使用root账户运行服务)
useradd elastic passwd elastic elastic123456 chmod -R 777 /home/elastic/software/elasticsearch-7.12.1 su elastic
启动服务
bin/elasticsearch -d
5、查看集群状态
curl http://192.168.37.40:9200/_cluster/health?pretty
{
"cluster_name" : "hypersearch",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}



