您好,登录后才能下订单哦!
测试环境介绍
我们搭建一个一主两从的集群环境,由于是测试虚拟机,我这边只在一台服务器上来演示主从环境。
| 操作系统 | 服务器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查看,主从环境配置正常。

        从图中可以看出五星代表是主节点,圆代表是从节点。
四、异常处理
因为我们配置了主从环境,单独启动一个主,不启动从,一直会出现此错误
master not discovered or elected yet, an election requires at least 2 nodes with ids from [X2P0yBfUSHSyGgjWWvBYeg, ZFIHple7RSijNOrRYIlPbQ, Xoew_otiTimsat1dgsYTDQ], have discovered,
只是因为我们只启动了主,从没有启动,我们只需要到从的启动路径启动从即可。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。