当前位置:   article > 正文

elasticsearch集群搭建_elasticsearch 集群搭建

elasticsearch 集群搭建

1.主机信息

nameipportserivce
A10.1.60.1149200,9300elasticsearch
B10.1.60.1159200,9300elasticsearch
C10.1.60.1189200,9300elasticsearch

2.基础环境配置

每台主机都要执行一遍以下配置

jdk环境配置

elasticsearch使用的是7.17.10版本,需要配置jdk 11版本以上的环境

参考:jdk1.8环境配置_Apex Predator的博客-CSDN博客

 优化主机,必须要优化,不优化的话elasticsearch集群不能正常启动

内核优化

vi /etc/security/limits.conf

  1. * soft nofile 65537
  2. * soft nproc 65537
  3. * soft memlock unlimited #配置内存锁,配置集群必须添加,单节点不加
  4. * hard nofile 65537
  5. * hard nproc 65537
  6. * hard memlock unlimited #配置内存锁,配置集群必须添加,单节点不加

 vi /etc/security/limits.d/20-nproc.conf

*          soft    nproc     4096  #变更soft  nproc项值为4096

vi /etc/sysctl.conf 

vm.max_map_count = 262144    #用于设置每个进程能够拥有的最大内存映射区域数量,这个参数通常用于支持 Elasticsearch、Logstash 等应用程序,如果这些应用程序需要使用大量内存映射区域,就需要增加这个参数的值
net.core.somaxconn = 65535    #于设置系统中每个监听套接字的最大连接数。这个参数通常用于支持高并发的网络应用程序,例如 Web 服务器。增加这个参数的值可以提高系统的并发性能
net.ipv4.ip_forward = 1   #用于启用 IP 转发功能,允许系统作为路由器转发数据包。这个参数通常用于构建复杂的网络拓扑,例如 VPN 网络
执行以下命令使配置生效

sysctl -p

3.安装elasticsearch

每台主机都要执行一遍以下配置

在官网下载elasticsearch的安装包,本次搭建选择了7.17.10版本 

下载连接:Past Releases of Elastic Stack Software | Elastic

新建目录,将安装包上传到主机中并解压更改名称

mkdir /opt/elasticsearch

cd /opt/elasticsearch

tar -zxvf elasticsearch-7.17.10-linux-x86_64.tar.gz

mv elasticsearch-7.17.10-linux-x86_64 elasticsearch

ls /opt/elasticsearch

编辑elasticsearch配置文件

vi /opt/elasticsearch/elasticsearch/config/elasticsearch.yml

  1. cluster.name: es-cluster #集群名称
  2. node.name: es01 #该节点名称
  3. node.master: true #配置本节点具备master功能,若不需要则配置为flase,默认节点是具备此功能,配置文件里默认没有此项配置
  4. node.data: true #配置本节点具备data功能,若不需要则配置为flase,默认节点是具备此功能,配置文件里默认没有此项配置
  5. path.data: /opt/elasticsearch/elasticsearch/data #配置elasticsearch存储数据路径
  6. path.logs: /opt/elasticsearch/elasticsearch/log #配置elasticsearch存储日志路径
  7. bootstrap.memory_lock: true #配置内存锁
  8. network.host: 10.1.60.115 #配置节点地址
  9. http.port: 9200 #配置elasticsearch服务端口
  10. discovery.seed_hosts: ["10.1.60.114", "10.1.60.115","10.1.60.118"] #配置集群所有节点地址
  11. cluster.initial_master_nodes: ["es01", "es02","es03"] #配置集群所有节点名称

每台主机的配置文件node.name项不能相同,network.host根据自己的主机实际地址填写,其余的配置都一样 

创建elasticsearch服务的用户,elasticsearch服务不能使用root启动,不然会报错

groupadd elasticsearch

useradd elasticsearch -g elasticsearch -p elasticsearch   #-g指定用户组  -p指定密码

chown -R elasticsearch.elasticsearch /opt/elasticsearch/elasticsearch  

切换用户启动es服务

su elasticsearch

/opt/elasticsearch/elasticsearch/bin/elasticsearch -d   #-d为后台启动es服务

访问es服务看是否正常

http://10.1.60.114:9200

看到以上输出即正常

当所有节点的elasticsearch服务都启动后在网页上访问以下地址查看集群

http://10.1.60.114:9200/_cluster/state/master_node,nodes?pretty

可以看到集群已经识别到了三个节点

也可以使用elasticsearch head应用查看集群

 4.集群试验

通过kill关闭elasticsearch服务,模拟主节点宕机,查看集群是否重新选主,分片是否重新均衡分配

ps -ef |grep elasticsearch

kill 6388

通过elasticsearch head查看es集群状态

可以看到集群的状态变成了yellow,集群先是自动在从节点中选新的主节点,挂掉的主分片也在副本分片中重新选主,但是分片还没有重新均衡分配,在挂掉的主节点上的分片也还没重新分配到新的节点上

 等一会之后,大概十多秒,重新刷新页面,所有索引分片重新均衡分配在存活的节点上,但是对于索引分片数量大于存活节点数量的,多余的分片就没办法分配,除非有新节点加入

重新启动被关闭的节点

su elasticsearch

/opt/elasticsearch/elasticsearch/bin/elasticsearch -d

通过elasticsearch head查看es集群状态

可以看到启动后,节点在es集群中的状态恢复了正常,但是分片还没有重新均衡分配

 等了一下之后,所有索引分片重新均衡分配在存活的节点上

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/844645
推荐阅读
相关标签
  

闽ICP备14008679号