【Elasticsearch】Elasticsearch集群搭建详细手册

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

一、集群搭建

1.1.资源准备

  • 服务器
    • 192.168.X.26
    • 192.168.X.25
    • 192.168.X.24
  • 安装包
    • elasticsearch-6.8.10.tar.gz
  • 防火墙
    • 所有服务器均开通9200,9300端口

1.2.安装组件

  • 第一步:创建es安装目录
#在opt目录下创建soft目录
cd /opt
mkdir soft
  • 第二步:上传安装包到soft目录下
  • 第三步:解压安装包
#解压安装包(解压即安装)
tar -zxvf elasticsearch-6.8.10.tar.gz

注意:当前步骤每台服务器均相同!!!

1.3.修改配置

  • 节点1、节点2、节点3

    • 第一步:修改elasticsearch.yml配置文件
    #执行命令:
    #进入配置目录
    cd /opt/soft/elasticsearch/elasticsearch-6.8.1/config
    #编辑elasticsearch.yml配置文件
    vim elasticsearch.yml
    #设置如下配置:
    #集群名称: (应用连接配置需要)三个节点相同
    cluster.name: 自定义
    #节点名称(按节点顺序命名:node-1、node-2、node-3)
    node.name: node-1
    #数据存放目录:(需要提前创建好)
    path.data: /opt/soft/elasticsearch/elasticsearch-6.8.10/data
    #日志存放目录:(需要提前创建好)
    path.logs: /opt/soft/elasticsearch/elasticsearch-6.8.10/logs
    #当前节点地址:
    network.host: 当前服务的ip地址
    #开始http访问端口
    http.port: 9200
    transport.tcp.port: 9300
    #关闭程序内存锁定器和程序系统调用筛选器(视情况而定)
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    #集群节点配置
    discovery.zen.ping.unicast.hosts: ["192.168.X.26", "192.168.X.25", "192.168.X.24"]
    #配置可用master节点数量(一般ES集群的节点至少要有3个,quorum设置为2)
    discovery.zen.minimum_master_nodes: 2
    
    • 第二步:创建data目录
    #进入es根目录
    cd /opt/soft/elasticsearch/elasticsearch-6.8.1
    mkdir data
    
    • 第三步:创建elasticsearch的专属操作用户
    #执行命令:
    #创建系统用户:(这里不用设置密码)
    adduser esuser
    #授权用户访问操作权限
    chown -R esuser:esuser /opt/soft/elasticsearch/elasticsearch-6.8.10
    
    • 第四步:修改elasticsearch默认分配内存配置
    #执行命令
    #进入配置目录:
    cd /opt/soft/elasticsearch/elasticsearch-6.8.1/config
    #编辑内存配置文件:jvm.options (根据服务器情况设置如下值)
    vim jvm.options
    #将JVM堆大小改为最合适,一般建议不超过当前服务器内存的1/2
    -Xms2g
    -Xmx2g
    

1.4.启动ES

  • (1)、启动全部节点elasticsearch

    #执行命令
    #切换用户:(从root用户切换到ES用户)
    su esuser
    #进入bin目录
    cd /opt/soft/elasticsearch/elasticsearch-6.8.10/bin
    #启动es并且后台运行
    ./elasticsearch -d
    
  • (2)、访问全部节点elasticsearch组件

    #通过浏览器访问ES组件
    http://ip:9200
    
  • (3)、访问集群状态文章来源地址https://www.toymoban.com/news/detail-815089.html

#请求任意节点
http://192.168.X.26:9200/_cat/nodes?pretty
#响应如下证明集群搭建成功
192.168.X.24  9 37 1 0.06 0.06 0.05 mdi - node-3
192.168.X.25  5 35 0 0.01 0.03 0.05 mdi - node-2
192.168.X.26 10 91 1 0.02 0.09 0.15 mdi * node-1

1.5.启动问题

  • 问题1:initial heap size [2147483648] not equal to maximum heap size [4294967296]; this can cause resize pauses
#jvm配置内存需要一样
#修改配置文件:/opt/soft/elasticsearch/elasticsearch-6.8.10/config/jvm.options 这里修改jvm占用内存 
-Xms4g
-Xmx4g
  • 问题2:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
#es需要增大系统默认的文件打开数和用户可支配内存数
#编辑环境配置
vim /etc/security/limits.conf
#文件末尾追加  (esuser为启动elasticsearch的用户名)
esuser soft nofile 65535
esuser hard nofile 65537
  • 问题3:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#错误原因:elasticsearch用户拥有的内存权限太小,至少需要262144
#编辑环境配置
vim /etc/sysctl.conf
#文件末尾追加
vm.max_map_count=262144
#配置立刻生效
sysctl -w vm.max_map_count=262144
  • 问题4:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
#错误原因:es不能使用root用户启动
#需要切换到创建的es用户启动
#切换用户:(从root用户切换到ES用户)
su esuser

1.6.X-pack秘钥

  • 第一步:关闭所有节点的es服务
#找到elasticsearch进程杀掉
ps -ef|grep elasticsearch
#杀掉对应进程
kill -9 PID
  • 第二步:在node-1节点生成秘钥证书
#执行命令
#进入elasticsearch-6.8.10目录
cd /opt/soft/elasticsearch/elasticsearch-6.8.10
#开始生成ca.crt证书 会生成ca.zip文件 并且设置有效期100年
/opt/soft/elasticsearch/elasticsearch-6.8.10/bin/elasticsearch-certutil ca --pem --out ca.zip --days 36500 -s 
#解压文件验证有效期
unzip ca.zip
# 查看证书有效期
openssl x509 -in ca/ca.crt -noout -dates
#开始生成instance.crt证书 会生成instance.zip 并且设置有效期100年
/opt/soft/elasticsearch/elasticsearch-6.8.10/bin/elasticsearch-certutil cert --ca-cert ca/ca.crt --ca-key ca/ca.key --pem --name instance  --out instance.zip --days 36500 -s
#解压文件
unzip instance.zip
# 查看证书有效期
openssl x509 -in instance/instance.crt -noout -dates
  • 第三步:秘钥配置(所有节点)
#将解压完的秘钥证书拷贝到各节点的ES目录下的config目录下
#可以下载上传,也可以远程服务器拷贝
#拷贝完成后解压秘钥文件
unzip ca.zip
unzip instance.zip
  • 第四步:修改配置elasticsearch.yml(所有节点)
#新增如下配置
http.cors.enabled:  true
http.cors.allow-origin: "*"
#开启安全验证功能
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
http.cors.allow-headers: Authorization
xpack.security.transport.ssl.key: instance/instance.key
xpack.security.transport.ssl.certificate: instance/instance.crt
xpack.security.transport.ssl.certificate_authorities: ca/ca.crt
xpack.ssl.verification_mode: certificate
xpack.ssl.client_authentication: required
  • 第五步:启动服务-设置用户密码
#执行命令
#先切换用户
su esuser
#再启动
/opt/soft/elasticsearch/elasticsearch-6.8.10/bin/elasticsearch -d
#进入bin目录:
cd /opt/soft/elasticsearch/elasticsearch-6.8.10/bin
#执行设置密码命令:(会对所有es的用户进行密码设置,一直输入密码直到设置完所有)
./elasticsearch-setup-passwords interactive
#设置完密码后,再次打开浏览器访问即可发现需要密码登录
#账号默认为:elastic;密码为刚设置的值
http://ip:9200
  • 第六步:再次通过浏览器访问,即可需要输入密码才可访问
#通过浏览器访问ES组件
http://ip:9200

1.7.Springboot代码配置

#在application.properties 新增ES配置
spring.data.elasticsearch.cluster-nodes=节点1:9300,节点2:9300,节点3:9300
spring.data.elasticsearch.cluster-name=集群名称
spring.data.elasticsearch.xpack.security.user=账号
spring.data.elasticsearch.xpack.security.password=密码
spring.data.elasticsearch.xpack.security.transport.ssl.enabled=true
spring.data.elasticsearch.xpack.ssl.key=服务器路径/instance/instance.key
spring.data.elasticsearch.xpack.ssl.certificate=服务器路径/instance/instance.crt
spring.data.elasticsearch.xpack.ssl.certificate_authorities=服务器路径/ca/ca.crt
spring.data.elasticsearch.xpack.ssl.verification_mode=certificate
spring.data.elasticsearch.xpack.security.http.ssl.enabled=false
spring.data.elasticsearch.client.transport.sniff=true

到了这里,关于【Elasticsearch】Elasticsearch集群搭建详细手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • kubernetes(k8s)集群超级详细超全安装部署手册

    针对机器已安装过k8s的情况,如未安装过,请忽略。 k8s重置命令(如果初始化的过程出现了错误就使用重置命令): kubeadm reset 1.1 准备工作(所有的节点都执行) 编辑4台服务器的  /etc/hosts  文件 ,添加下面内容(每个节点都执行一遍): 设置hostname(以node1为例): 或者修

    2024年03月22日
    浏览(47)
  • 【ES-Kibana】ElasticSearch-Kibana搭建手册

    1.1.服务器环境 (1)、Java环境检查 (2)、安装Java(未安装jdk环境的需要如下操作) 2.1.安装包下载 (1)、方式一:连网情况下直接下载安装包 (2)、方式二:离线安装官网下载安装包 2.2.修改配置 (1)、修改elasticsearch.yml配置文件 (2)、创建elasticsearch的专属操作用户 (

    2024年02月04日
    浏览(40)
  • 基于SpringBoot+Uniapp的微信小程序二手购物商城(用户手册+测试报告+详细设计文档)

    ✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 文末获取项目下载方式 🍅 一、项目背景介绍: 这个微信小程序二手购物商城的背景是为了满足用户

    2024年02月12日
    浏览(65)
  • 五-1、elasticsearch集群搭建(ES集群搭建)

    es下载地址 这里我下载的是 集群搭建方法 上传方式有两种 第一种:使用xftp上传 直接拖动过去就可以了。 第二种:使用lrzsz 先安装 切换到要上传的位置 输入命令 选择你要上传的文件 等待上传完成即可 ①解压到指定目录下 ②修改/config下的elasticsearch.yml 加入如下配置 原来

    2023年04月22日
    浏览(50)
  • ElasticSearch创建文档以及索引文档的详细流程

            当我们发起一个查询请求之后,ES是怎么处理这个请求然后返回数据的呢?今天就来详细说一下。 首先看一下整体结构:           在集群模式下一个索引有多个分片,在上图中有三个节点(一个主节点两个从节点),一个索引被分为两个分片(P0、P1),每个主分片有两

    2024年02月01日
    浏览(55)
  • 太牛了! GitHub大牛呕心沥血整理的5000页Java学习手册文档

    写在前面 今天整理了一套 5000 页的 Java 学习手册,,新鲜出炉,分享给大家!此手册内容专注 Java技术,包括 JavaWeb,SSM,Linux,Spring Boot,MyBatis,MySQL,Nginx,Git,GitHub,Servlet,IDEA,多线程,集合,JVM,DeBug, Dubbo,Redis,算法,面试题等相关内容。 添加图片注释,不超过 140

    2024年02月03日
    浏览(39)
  • Android修行手册 - 文档插件Aspose的jar包去除所有限制学习版

    专栏分享 点击跳转=Unity3D特效百例 点击跳转=案例项目实战源码 点击跳转=游戏脚本-辅助自动化 点击跳转=Android控件全解手册 点击跳转=Scratch编程案例 众所周知,人生是一个漫长的流程,不断 克服困难 ,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考

    2024年02月13日
    浏览(38)
  • 【elasticsearch】elasticsearch7.x集群搭建

    目录 一、服务器情况 二、安装前准备 1、下载es 2、配置服务器免密登录 3、升级jdk 三、安装es集群 (一)master服务器的操作 1、将es上传到Linux并解压 2、创建数据、日志存储文件夹 3、配置config/elasticsearch.yml 4、配置jvm 5、创建es用户 6、赋权限 7、修改配置文件 8、启动服务 9、启

    2023年04月09日
    浏览(45)
  • ElasticSearch集群的搭建

    上一章:《IK分词器和Elasticsearch集成使用》 ES集群是一个P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。 所以,从网络架构及服务

    2024年02月15日
    浏览(33)
  • docker搭建Elasticsearch集群

    版本根据自己需求进行拉取,我这边选择的是 7.17.0 ,不同版本配置可能稍有差别! 采用 文件挂载 的方式,采用宿主机配置文件,本文采用的 三台主机 搭建集群,每一台主机的配置稍有区别! 主机一: 主机二: 主机三: -v /Users/es/es1/e1.yml:/usr/share/elasticsearch/config/elastics

    2024年02月02日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包