上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

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

guduadmin31天前

目录

  • 一、下载Elasticsearch
    • 1.选择你要下载的Elasticsearch版本
    • 二、采用通用搭建集群的方法
    • 三、配置三台es
      • 1.上传压缩包到任意一台虚拟机中
      • 2.解压并修改配置文件(配置单台es)
      • 3.配置三台es集群
      • 4.设置后台启动和开机自启(可选)

        一、下载Elasticsearch

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

        es下载地址

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第1张

        这里我下载的是

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第2张

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第3张


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

        集群搭建方法


        三、配置三台es

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

        上传方式有两种

        第一种:使用xftp上传

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第4张

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第5张

        直接拖动过去就可以了。

        第二种:使用lrzsz

        先安装

        yum -y install lrzsz
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第6张

        切换到要上传的位置

        cd /opt/module
        

        输入命令

        rz
        

        选择你要上传的文件

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第7张

        等待上传完成即可

        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集群搭建),在这里插入图片描述,第8张改为:

        -Xms2g
        -Xmx2g
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第9张

        ③修改系统的配置文件

        修改/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集群搭建),在这里插入图片描述,第10张

        修改/etc/sysctl.conf

        vim /etc/sysctl.conf 
        

        追加内容

        vm.max_map_count=655360 
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第11张

        重新加载

        sysctl -p
        

        ④启动es

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

        如果出现如下报错

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第12张

        检查你当前的用户是不是root用户

        如果是请执行

        su july
        

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

        cd /opt/software
        
        ll
        

        我都是root

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第13张

        修改为july用户(要在root用户下执行该操作)

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

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

        bin/elasticsearch
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第14张

        测试是否启动成

        浏览器访问地址,你的虚拟机地址加端口号

        http://192.168.11.137:9200/
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第15张

        至此,单机的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集群搭建),在这里插入图片描述,第16张

        从报错可以看出

        vm.max_map_count = 65530这个还是配置小了

        修改配置为(在root用户下修改,然后在july用户下再次启动即可)

        vm.max_map_count = 262144
        

        重新加载

        sysctl -p
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第17张

        查询集群状态

        http://192.168.11.137:9200/_cat/nodes
        

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第18张

        集群搭建结束。

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

        root用户下

        cd /etc/init.d
        
        vim elasticsearch
        

        因为脚本需要使用非root用户,所以指定为july用户。还有es安装的地址

        前三行内容

        五-1、elasticsearch集群搭建(ES集群搭建),在这里插入图片描述,第19张

        #!/bin/sh
        # chkconfig: - 85 15
        #description: elasticsearch
        export ES_HOME=/opt/software/elasticsearch-7.6.1
        case "" in
        start)
            su july< 
        

        ①设置可执行

        chmod 777 elasticsearch
        

        配置开机启动相关

        ②添加系统服务

        chkconfig --add elasticsearch    
        

        ③启动服务

        systemctl start elasticsearch
        

        ④设置开机自启

        chkconfig elasticsearch on     
        systemctl enable elasticsearch 
        

        root用户下分发脚本到其他两台虚拟机,然后执行①-④步即可

         xsync elasticsearch
        

网友评论

搜索
最新文章
热门文章
热门标签