温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Elasticsearch7.3学习笔记4-分布式集群环境搭

发布时间:2020-07-05 19:01:00 来源:网络 阅读:2179 作者:w0rdyyp 栏目:web开发

测试环境介绍
我们搭建一个一主两从的集群环境,由于是测试虚拟机,我这边只在一台服务器上来演示主从环境。

操作系统 服务器ip 端口号 是否主节点
centos7 192.168.43.96 9200
centos7 192.168.43.96 9400
centos7 192.168.43.96 9500

一、主节点搭建
环境搭建详见https://blog.51cto.com/2262805/2441988文章,
elasticsearch.yml配置文件说明:
配置说明:

        cluster.name    集群名称,相同名称为一个集群
        node.name   节点名称,集群模式下每个节点名称唯一
        node.master     当前节点是否可以被选举为master节点,是:true、否:false
        node.data   当前节点是否用于存储数据,是:true、否:false
        path.data   索引数据存放的位置
        path.logs   日志文件存放的位置
        bootstrap.memory_lock   需求锁住物理内存,是:true、否:false
        bootstrap.system_call_filter    SecComp检测,是:true、否:false
        network.host    监听地址,用于访问该es
        network.publish_host    可设置成内网ip,用于集群内各机器间通信
        http.port   es对外提供的http端口,默认 9200
        discovery.seed_hosts    es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
        cluster.initial_master_nodes    es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
        http.cors.enabled   是否支持跨域,是:true,在使用head插件时需要此配置
        http.cors.allow-origin  "*" 表示支持所有域名

我们要只需要在之前的基础上,打开配置文件elasticsearch.yml,添加如下三个配置:
        cluster.name: my-es   #集群名称
        node.name: node-master #主节点名称
        node.master: true #当前节点是否可以被选举为master节点,是:true、否:false
      discovery.seed_hosts: ["192.168.43.96", "192.168.43.96", "192.168.43.96"]#写入候选主节点的设备地址,在开启服务后可以被选为主节点
      cluster.initial_master_nodes: ["node-1"] #初始化一个新的集群时需要此配置来选举master

        修改完配置文件之后,只需要重新服务即可。

二、从节点配置
1.从节点1配置
我们再/mnt目录,解压之前下载的elasticsearch-7.3.0-linux-x86_64.tar.gz,并命名为elasticsearch2,并授权
chown -R testesuser:testes /mnt/elasticsearch2
进入/mnt/elasticsearch2目录config文件夹,修改elasticsearch.yml配置文件并保存。

            network.host: 192.168.43.96
                http.port: 9400
                discovery.seed_hosts: ["192.168.43.96", "192.168.43.96", "192.168.43.96"]
                cluster.initial_master_nodes: ["node-1"]
                http.cors.enabled: true
                http.cors.allow-origin: "*"
                cluster.name: my-es
                node.name: node-slave1

                 cd bin/
             ./elasticsearch #启动从环境1  一定要用testesuser用户来执行

2.从节点二配置
        在/mnt目录下,继续解压之前的包并命名为为elasticsearch3,并授权
        `chown -R testesuser:testes /mnt/elasticsearch3`
        进入/mnt/elasticsearch3目录config文件夹,修改elasticsearch.yml配置文件并保存。

        和上面的配置基本一致,只是   http.port改为9500,    node.name改为node-slave2
        cd bin/
        ./elasticsearch #启动从环境2  一定要用testesuser用户来执行

三、Elasticsearch head验证主从环境
启动完成后,我们用Elasticsearch head查看,主从环境配置正常。

Elasticsearch7.3学习笔记4-分布式集群环境搭

        从图中可以看出五星代表是主节点,圆代表是从节点。

四、异常处理
因为我们配置了主从环境,单独启动一个主,不启动从,一直会出现此错误
master not discovered or elected yet, an election requires at least 2 nodes with ids from [X2P0yBfUSHSyGgjWWvBYeg, ZFIHple7RSijNOrRYIlPbQ, Xoew_otiTimsat1dgsYTDQ], have discovered,
只是因为我们只启动了主,从没有启动,我们只需要到从的启动路径启动从即可。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI