Linux搭建Elasticsearch集群

本文详细介绍了如何在Linux环境下搭建Elasticsearch集群,包括复制安装包、设置防火墙规则、修改主节点配置、启动集群及Head插件,并讲解了创建索引和分配分片的过程,强调了副本分片和性能的关系以及节点数量对副本分配的重要性。

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.namehttp.porttransport.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

评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linrp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值