• ELK elasticsearch docker 多台服务器集群


    之前安装集群是在一台服务器上的,现在试试多台服务器上,其实步骤差不多。

    本次采用docker-compose安装。

    ==================elasticsearch集群 多台式==================

    准备服务器

    192.168.89.141
    192.168.89.142

    // 每台机器增加目录配置文件
    mkdir -p /home/soft/elasticsearch/config
    mkdir -p /home/soft/elasticsearch/data
    mkdir -p /home/soft/elasticsearch/logs
    mkdir -p /home/soft/elasticsearch/plugins/ik
    
    // 下载镜像
    docker pull 192.168.89.132/third/elasticsearch:7.1.1
    docker pull 192.168.89.132/third/kibana:7.1.1
    
    // 下载分词器
    cd /home/soft/elasticsearch/plugins/ik
    wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip
    // 解压
    unzip elasticsearch-analysis-ik-7.1.1.zip
    rm -rf elasticsearch-analysis-ik-7.1.1.zip

    新增docker-compose.yml 文件

    192.168.89.142

    vi docker-compose.yml
    docker-compose.yml
    version: '3'
    services:
      es10:                    # 服务名称
        image: 192.168.89.132/third/elasticsearch:7.1.1      # 使用的镜像
        container_name: es10   # 容器名称
        restart: always                 # 失败自动重启策略
        environment:                                    
          - node.name=node142                   # 节点名称,集群模式下每个节点名称唯一
          - network.publish_host=192.168.89.142  # 用于集群内各机器间通信,其他机器访问本机器的es服务
          - network.host=0.0.0.0                # 设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0- discovery.seed_hosts=192.168.89.141,192.168.89.142          # es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
          - cluster.initial_master_nodes=192.168.89.141  # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
          - cluster.name=ms-es-cluster     # 集群名称,相同名称为一个集群
          - bootstrap.memory_lock=false  # 内存交换的选项,官网建议为true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"    # 设置内存
        ulimits:             
          memlock:
            soft: -1      
            hard: -1
        volumes:
          - /home/soft/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  # 将容器中es的配置文件映射到本地,设置跨域, 否则head插件无法连接该节点
          - /home/soft/elasticsearch/data:/usr/share/elasticsearch/data  # 存放数据的文件, 注意:这里的esdata为 顶级volumes下的一项。
          - /home/soft/elasticsearch/plugins:/usr/share/elasticsearch/plugins  #插件目录
          - /home/soft/elasticsearch/logs:/usr/share/elasticsearch/logs  #插日志目录
        ports:
          - 9200:9200    # http端口
          - 9300:9300    # es节点直接交互的端口,非http

    192.168.89.141 ,与192.168.89.142对比只有发布ip、节点名称不一样,其他都一样

    vi docker-compose.yml
    docker-compose.yml
    version: '3'
    services:
      es10:                    # 服务名称
        image: 192.168.89.132/third/elasticsearch:7.1.1      # 使用的镜像
        container_name: es10   # 容器名称
        restart: always                 # 失败自动重启策略
        environment:                                    
          - node.name=node141                   # 节点名称,集群模式下每个节点名称唯一
          - network.publish_host=192.168.89.141  # 用于集群内各机器间通信,其他机器访问本机器的es服务
          - network.host=0.0.0.0                # 设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0- discovery.seed_hosts=192.168.89.141,192.168.89.142          # es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
          - cluster.initial_master_nodes=192.168.89.141  # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
          - cluster.name=ms-es-cluster     # 集群名称,相同名称为一个集群
          - bootstrap.memory_lock=false  # 内存交换的选项,官网建议为true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"    # 设置内存
        ulimits:             
          memlock:
            soft: -1      
            hard: -1
        volumes:
          - /home/soft/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  # 将容器中es的配置文件映射到本地,设置跨域, 否则head插件无法连接该节点
          - /home/soft/elasticsearch/data:/usr/share/elasticsearch/data  # 存放数据的文件, 注意:这里的esdata为 顶级volumes下的一项。
          - /home/soft/elasticsearch/plugins:/usr/share/elasticsearch/plugins  #插件目录
          - /home/soft/elasticsearch/logs:/usr/share/elasticsearch/logs  #插日志目录
        ports:
          - 9200:9200    # http端口
          - 9300:9300    # es节点直接交互的端口,非http

    都增加配置文件

    vi elasticsearch.yml
    内容如下很少:
    network.host: 0.0.0.0
    http.cors.enabled: true      # 设置跨域,主要用于head插件访问es
    http.cors.allow-origin: "*"  # 允许所有域名访问

    后台启动容器:

    chmod 777 docker-compose.yml
    docker-compose up -d

    访问测试:
    单台:

    http://192.168.89.142:9200


    集群:

    http://192.168.89.142:9200/_cat/nodes?pretty

    配置密码,步骤与之前的一致。注意,主节点只写一个,否则会出现节点没完全启动问题

    https://www.cnblogs.com/a393060727/p/12971290.html
  • 相关阅读:
    zabbix key 模样
    windows key代码
    windows更新代理地址配置
    Proftpd搭建
    SAS界面标题乱码
    jenkins-2.225部署
    DNS 安全详解
    DNS搭建
    修复linux登录超时问题
    prometheus安装全过程
  • 原文地址:https://www.cnblogs.com/a393060727/p/13260367.html
Copyright © 2020-2023  润新知