五-1、elasticsearch集群搭建(ES集群搭建)

这篇具有很好参考价值的文章主要介绍了五-1、elasticsearch集群搭建(ES集群搭建)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、下载Elasticsearch

1.选择你要下载的Elasticsearch版本

es下载地址
五-1、elasticsearch集群搭建(ES集群搭建)
这里我下载的是
五-1、elasticsearch集群搭建(ES集群搭建)
五-1、elasticsearch集群搭建(ES集群搭建)


二、采用通用搭建集群的方法

集群搭建方法


三、配置三台es

1.上传压缩包到任意一台虚拟机中

上传方式有两种
第一种:使用xftp上传
五-1、elasticsearch集群搭建(ES集群搭建)
五-1、elasticsearch集群搭建(ES集群搭建)
直接拖动过去就可以了。

第二种:使用lrzsz
先安装

yum -y install lrzsz

五-1、elasticsearch集群搭建(ES集群搭建)

切换到要上传的位置

cd /opt/module

输入命令

rz

选择你要上传的文件
五-1、elasticsearch集群搭建(ES集群搭建)

等待上传完成即可

2.解压并修改配置文件(配置单台es)

①解压到指定目录下

tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /opt/software/

②修改/config下的elasticsearch.yml

cd /opt/software/elasticsearch-7.6.1/config/
vim elasticsearch.yml

加入如下配置

cluster.name: elasticsearch 
node.name: node-1 
network.host: 192.168.11.137 #虚拟机的IP地址
http.port: 9200 
cluster.initial_master_nodes: ["node-1"]
vim jvm.options

原来内容
五-1、elasticsearch集群搭建(ES集群搭建)改为:

-Xms2g
-Xmx2g

五-1、elasticsearch集群搭建(ES集群搭建)

③修改系统的配置文件
修改/etc/security/limits.conf
末尾追加

vim /etc/security/limits.conf 
july soft nofile 65536 
july hard nofile 65536 

修改/etc/security/limits.d/20-nproc.conf

vim /etc/security/limits.d/20-nproc.conf 
july soft nofile 65536
july hard nofile 65536
* hard nproc 4096

五-1、elasticsearch集群搭建(ES集群搭建)

修改/etc/sysctl.conf

vim /etc/sysctl.conf 

追加内容

vm.max_map_count=655360 

五-1、elasticsearch集群搭建(ES集群搭建)
重新加载

sysctl -p

④启动es

cd /opt/software/elasticsearch-7.6.1
bin/elasticsearch

如果出现如下报错
五-1、elasticsearch集群搭建(ES集群搭建)
检查你当前的用户是不是root用户
如果是请执行

su july

检查es这个文件夹是不是july所有者

cd /opt/software
ll

我都是root
五-1、elasticsearch集群搭建(ES集群搭建)
修改为july用户(要在root用户下执行该操作)

chown -R july:july /opt/software/elasticsearch-7.6.1

修改完成后在elasticsearch-7.6.1目录下再次执行

bin/elasticsearch

五-1、elasticsearch集群搭建(ES集群搭建)

测试是否启动成
浏览器访问地址,你的虚拟机地址加端口号

http://192.168.11.137:9200/

五-1、elasticsearch集群搭建(ES集群搭建)
至此,单机的es已经搭建完成。
ctrl+C退出es

3.配置三台es集群

首先在第一台的基础上
修改es配置文件

cd /opt/software/elasticsearch-7.6.1/config/
vim elasticsearch.yml

原来配置的

#集群名称
cluster.name: cluster-es 
#节点名称,每个节点的名称不能重复
node.name: node-1 
#ip地址,每个节点的地址不能重复
network.host: july1
#是不是有资格主节点
node.master: true 
node.data: true 
http.port: 9200 
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true 
http.max_content_length: 200mb 
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"] 
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["july1:9300","july2:9300","july3:9300"] 
gateway.recover_after_nodes: 2 
network.tcp.keep_alive: true 
network.tcp.no_delay: true 
transport.tcp.compress: true 
#集群内同时启动的数据任务个数,默认是 2个
cluster.routing.allocation.cluster_concurrent_rebalance: 16 
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4个
cluster.routing.allocation.node_concurrent_recoveries: 16 
#初始化数据恢复时,并发恢复线程的个数,默认 4个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 

使用分发脚本,把es这个文件夹分发到其他虚拟机

 xsync /opt/software/

分发完成之后需要删除/data/目录下删除nodes文件!!!!这一点非常重要,不然后后续启动的时候发现不到其他节点信息,三台都要删除!!!

cd /opt/software/elasticsearch-7.6.1/data
rm -rf nodes/

使用分发脚本把修改系统文件的那些内容分发到其他虚拟机(如果在july用户下不行,切换到root进行分发)

xsync /etc/security/limits.conf
xsync /etc/security/limits.d/20-nproc.conf 
xsync /etc/sysctl.conf 

然后同步修改其他几台虚拟机
只需要把特定名称和ip地址修改成对应虚拟机名称即可

#集群名称
cluster.name: cluster-es 
#节点名称,每个节点的名称不能重复
node.name: node-2
#ip地址,每个节点的地址不能重复
network.host: july2
#是不是有资格主节点
node.master: true 
node.data: true 
http.port: 9200 
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true 
http.max_content_length: 200mb 
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-2"] 
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["july1:9300","july2:9300","july3:9300"] 
gateway.recover_after_nodes: 2 
network.tcp.keep_alive: true 
network.tcp.no_delay: true 
transport.tcp.compress: true 
#集群内同时启动的数据任务个数,默认是 2个
cluster.routing.allocation.cluster_concurrent_rebalance: 16 
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4个
cluster.routing.allocation.node_concurrent_recoveries: 16 
#初始化数据恢复时,并发恢复线程的个数,默认 4个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 
#集群名称
cluster.name: cluster-es 
#节点名称,每个节点的名称不能重复
node.name: node-3
#ip地址,每个节点的地址不能重复
network.host: july3
#是不是有资格主节点
node.master: true 
node.data: true 
http.port: 9200 
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true 
http.max_content_length: 200mb 
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-3"] 
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["july1:9300","july2:9300","july3:9300"] 
gateway.recover_after_nodes: 2 
network.tcp.keep_alive: true 
network.tcp.no_delay: true 
transport.tcp.compress: true 
#集群内同时启动的数据任务个数,默认是 2个
cluster.routing.allocation.cluster_concurrent_rebalance: 16 
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4个
cluster.routing.allocation.node_concurrent_recoveries: 16 
#初始化数据恢复时,并发恢复线程的个数,默认 4个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 

分别启动每台虚拟机,每台执行如下命令

bin/elasticsearch

其余两台启动报错
五-1、elasticsearch集群搭建(ES集群搭建)
从报错可以看出
vm.max_map_count = 65530这个还是配置小了
修改配置为(在root用户下修改,然后在july用户下再次启动即可)

vm.max_map_count = 262144

重新加载

sysctl -p

五-1、elasticsearch集群搭建(ES集群搭建)
查询集群状态

http://192.168.11.137:9200/_cat/nodes

五-1、elasticsearch集群搭建(ES集群搭建)
集群搭建结束。

4.设置后台启动和开机自启(可选)

root用户下

cd /etc/init.d
vim elasticsearch

因为脚本需要使用非root用户,所以指定为july用户。还有es安装的地址
前三行内容
五-1、elasticsearch集群搭建(ES集群搭建)

#!/bin/sh
# chkconfig: - 85 15
#description: elasticsearch
export ES_HOME=/opt/software/elasticsearch-7.6.1
case "$1" in
start)
    su july<<!
    cd $ES_HOME
    ./bin/elasticsearch -d -p pid
!
    echo "elasticsearch startup"
    ;;
stop)
    kill -9 `cat $ES_HOME/pid`
    echo "elasticsearch stopped"
    ;;
restart)
    kill -9 `cat $ES_HOME/pid`
    echo "elasticsearch stopped"
    su july<<!
    cd $ES_HOME
    ./bin/elasticsearch -d -p pid
!
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac
exit $?

①设置可执行

chmod 777 elasticsearch

配置开机启动相关
②添加系统服务

chkconfig --add elasticsearch    

③启动服务

systemctl start elasticsearch

④设置开机自启

chkconfig elasticsearch on     
systemctl enable elasticsearch 

root用户下分发脚本到其他两台虚拟机,然后执行①-④步即可文章来源地址https://www.toymoban.com/news/detail-421254.html

 xsync elasticsearch

到了这里,关于五-1、elasticsearch集群搭建(ES集群搭建)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ElasticSearch系列-06】Es集群架构的搭建以及集群的核心概念

    ElasticSearch系列整体栏目 内容 链接地址 【一】ElasticSearch下载和安装 https://zhenghuisheng.blog.csdn.net/article/details/129260827 【二】ElasticSearch概念和基本操作 https://blog.csdn.net/zhenghuishengq/article/details/134121631 【三】ElasticSearch的高级查询Query DSL https://blog.csdn.net/zhenghuishengq/article/details/1

    2024年02月04日
    浏览(60)
  • 磐基2.0搭建es集群 k8s安装elasticsearch集群

    参考: k8s安装elasticsearch集群_k8s部署elasticsearch集群_MasonYyp的博客-CSDN博客 1 环境简述搭建es集群需要使用的技术如下:k8s集群、StatefulSet控制器、Service(NodePort)服务、PV、PVC、volumeClaimTemplates(存储卷申请模板)。StatefulSet控制器创建的Pod适合用于分布式存储系统,它最大的特

    2024年02月09日
    浏览(39)
  • 【Elasticsearch】从零开始搭建ES8集群并且集成到Springboot,更好的服务电商类等需要全文索引的项目(一)

    最近公司的电商项目越来越庞大,功能需求点也越来越多,各种C端对查询和检索的要求也越来越高,是时候在项目中引入全文检索了。 ElasticSearch 是一个基于 Lucene 的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,并且是基于Java 开发的,我记得很久之前ES还不

    2024年02月15日
    浏览(48)
  • 【ES专题】ElasticSearch集群架构剖析

    个人感觉集群架构其实都有点大同小异,看了这么多集群架构之后,感觉无非要考虑的地方就几点: 使用何种通信协议去同步数据,互相通信 采用何种策略同步数据(异步还是同步) 如何保证一致性,保证到什么程度(【最终一致性】 or【实时一致性 / 强一致性】) 使用何

    2024年02月04日
    浏览(59)
  • Elasticsearch 系列(六)- ES数据同步和ES集群

    本章将和大家分享ES的数据同步方案和ES集群相关知识。废话不多说,下面我们直接进入主题。 1、数据同步问题 Elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,Elasticsearch也必须跟着改变,这个就是Elasticsearch与mysql之间的数据同步。 在微服务中,负责酒

    2024年04月28日
    浏览(83)
  • ElasticSearch---查询es集群状态、分片、索引

    查看es集群状态: 如果?后面加上pretty,能让返回的json格式化。 加上?v的返回结果,如下: 解释如下: 查看es分片信息: 查看es分片信息,模糊匹配,比如匹配test: 返回信息如下: 解析如下: 查看状态为unassigned的es分片信息: 查看es索引 查看es所有索引: indices表示索引,是

    2024年02月02日
    浏览(41)
  • elasticsearch——ES集群分片不平衡处理

    在使用云上的一个ES集群的时候,发现搜索性能很差,查看分片情况,发现ES有12个节点,索引创建了10个分片,1个副本,最后20个分片全在其中3个节点上,分布不均衡,实际只消耗了3个节点的资源,所以性能很差,再次创建新的索引,发现仍然是这种情况,最后通过下面的命

    2024年02月13日
    浏览(39)
  • 【elasticsearch】修改es集群的索引副本数量

    最近海外es集群进行调整,从3节点变成了单节点。所以需要将集群模式改为单点模式,并需要将es 集群的全部索引副本个数改为0,不然会有很多未分配的分片,导致集群状态为 yellow 。 1. 先将现有的index的副本数量为0个 此步骤是为了解决现有的索引副本数。 2. 创建模板匹配

    2024年02月11日
    浏览(49)
  • elasticsearch修改es集群的索引副本数量

    最近es集群进行调整,从2节点变成了单节点。所以需要将集群模式改为单点模式,并需要将es 集群的全部索引副本个数改为0,不然会有很多未分配的分片,导致集群状态为 yellow。 1. 先将现有的index的副本数量为0个 此步骤是为了解决现有的索引副本数。 2. 创建模板匹配所有

    2024年02月08日
    浏览(44)
  • ElasticSearch——详细看看ES集群的启动流程

    参考:一起看看ES集群的启动流程 本文主要从流程上介绍整个集群是如何启动的,集群状态如何从Red变成Green,然后分析其他模块的流程。 这里的集群启动过程指 集群完全重启时的启动过程,期间要经历 选举主节点、主分片、数据恢复 等重要阶段,理解其中原理和细节,对

    2024年02月01日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包