1.复制已安装解压好的 Elasticsearch
安装教程具体参考我发布的 Centos8安装Elasticsearch、Head、IK、Kibana (ELK)

2.放行集群端口
防火墙:
firewall-cmd --zone=public --add-port=9201/tcp --permanent #开放9201端口
firewall-cmd --zone=public --add-port=9202/tcp --permanent #开放9202端口
firewall-cmd --zone=public --add-port=9301/tcp --permanent #开放9301端口
firewall-cmd --zone=public --add-port=9302/tcp --permanent #开放9302端口
firewall-cmd --reload #刷新防火墙
阿里云:

宝塔:

3.修改主节点配置文件
vim /usr/local/elk/elasticsearch-7.6.1/config/elasticsearch.yml
将原来的配置全部删除,以下内容全部复制
#http.host: 0.0.0.0
#节点 1 的配置信息:
#集群名称,集群模式下每个节点名称唯一
cluster.name: es-cluster
#节点名称
node.name: node1
#锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#外网访问9200端口访问
network.host: 0.0.0.0
#设置对外服务的http端口,默认为9200
http.port: 9200
#设置节点之间的tcp端口
transport.tcp.port: 9300
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
# 指定 master 节点
cluster.initial_master_nodes: ["node1"]
#设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
# 节点数/2+1 3/2+1=2
discovery.zen.minimum_master_nodes: 2
#指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。
node.master: true
#指定该节点是否存储索引数据,默认为true。
node.data: true
#是否允许跨域REST请求
http.cors.enabled: true
#允许REST请求来自何处
http.cors.allow-origin: "*"
另外两个节点 不同就是 node.name、http.port 、transport.tcp.port

另外一个节点 node.name: node3,http.port: 9202,transport.tcp.port: 9302
4.启动集群、启动head插件
分别启动elasticsearch,浏览器访问 ip:9200/_cluster/health?pretty

谷歌JSON美化插件:
链接:https://pan.baidu.com/s/1WrEbcE_6dlTkAfXs8kSzJQ
提取码:xz29
浏览器访问 ip:9100

哪个节点启动就是哪个就是主节点,我这里是node2节点先启动
5.创建索引分配分片
启动kibaan,浏览器访问 ip:5601

PUT /test_index
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
}
}


primary shard 后期不可修改,replica shard 可以随时修改
如果只是在相同节点数目的集群上增加更多的副本分片并不能提高性能,因为每个分片从节点上获得的资源会变少。 你需要增加更多的硬件资源来提升吞吐量。但是更多的副本分片数提高了数据冗余量,我们在实际开发中应当有所舍取
需要注意的是:ES 的单个节点不会存储相同的 shard 的,这是为了容错的考虑,如果 replica 的数量设置为 2,那么 node 的数量必须最少是 3,才可以完全分配replica,因此node = replica + 1
本文详细介绍了如何在Linux环境下搭建Elasticsearch集群,包括复制安装包、设置防火墙规则、修改主节点配置、启动集群及Head插件,并讲解了创建索引和分配分片的过程,强调了副本分片和性能的关系以及节点数量对副本分配的重要性。
2017





