• elk集群的docker搭建


    elk的工作模式:

    集群搭建

    docker版本

    Docker version 20.10.14, build a224086

    dokcer拉去镜像的命令:

    docker pull kibana:7.17.3
    docker pull logstash:7.17.2
    docker pull elasticsearch:7.17.1
    

    部署的主目录

    /Users/liyabing/elasticsearch/v7.17/ 

     创建对应的目录:

    # 主目录在

      /Users/liyabing/elasticsearch/v7.17/

    切换到主目录下
    cd /Users/liyabing/elasticsearch/v7.17/
    
    # 配置文件
    sudo mkdir -p node-1/config
    sudo mkdir -p node-2/config
    sudo mkdir -p node-3/config
    
    # 数据存储
    sudo mkdir -p node-1/data
    sudo mkdir -p node-2/data
    sudo mkdir -p node-3/data
    
    # 日志存储
    sudo mkdir -p node-1/logs
    sudo mkdir -p node-2/logs
    sudo mkdir -p node-3/logs
    
    # 插件管理
    sudo mkdir -p node-1/plugins
    sudo mkdir -p node-2/plugins
    sudo mkdir -p node-3/plugins
    
    # 开放权限
    sudo chmod 777 /Users/liyabing/elasticsearch/v7.17/node-1/data
    sudo chmod 777 /Users/liyabing/elasticsearch/v7.17/node-2/data
    sudo chmod 777 /Users/liyabing/elasticsearch/v7.17/node-3/data
    
    sudo chmod 777 /Users/liyabing/elasticsearch/v7.17/node-1/logs
    sudo chmod 777 /Users/liyabing/elasticsearch/v7.17/node-2/logs
    sudo chmod 777 /Users/liyabing/elasticsearch/v7.17/node-3/logs

    elasticsearch配置文件编写

     我们以es01 为例,cd es01,增加elasticsearch-01.yml配置文件:

    # es01.yml 根据自己环境修改ip地址
    cluster.name: elasticsearch-cluster
    node.name: es-node1
    network.bind_host: 0.0.0.0
    network.publish_host: 127.0.0.1
    http.port: 9200
    transport.tcp.port: 9300
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: true 
    node.data: true  
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
    discovery.zen.minimum_master_nodes: 2

    其他两个es配置文件类似:

    # es02.yml 根据自己环境修改ip地址
    cluster.name: elasticsearch-cluster
    node.name: es-node2
    network.bind_host: 0.0.0.0
    network.publish_host: 127.0.0.1
    http.port: 9201
    transport.tcp.port: 9301
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: false 
    node.data: true  
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
    discovery.zen.minimum_master_nodes: 2
    
    # es03.yml 根据自己环境修改ip地址
    cluster.name: elasticsearch-cluster
    node.name: es-node3
    network.bind_host: 0.0.0.0
    network.publish_host: 127.0.0.1
    http.port: 9202
    transport.tcp.port: 9302
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: false 
    node.data: true  
    discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
    discovery.zen.minimum_master_nodes: 2

    配置参数说明:

    cluster.name: 集群名称
    
    node.name: 节点的名称
    node.master: true  # 是不是有资格竞选主节点
    node.data: true    # 是否存储数据
    # 注意这两个路径不要配置物理机的路径了,这是【容器内部】的路径!!
    path.data: /usr/share/elasticsearch/data # 数据存档位置
    path.logs: /usr/share/elasticsearch/log   # 日志存放位置
    
    # 配合network.publish_host 一起使用。参见下文的小窍门:
    # 设置其它结点和该结点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址,设置当前物理机地址,如果是docker安装节点的IP将会是配置的IP而不是docker网管ip
    # network.publish_host: 127.0.0.1
    http.port: 9200  # 设置映射端口
    transport.tcp.port: 9300  # 内部节点之间沟通端口 
    # 组播地址
    discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9300"]

    由于默认es实例是1g,太吃内存了,我们修改一下jvm参数,每个es目录下放一个jvm.option文件:

    -Xms128m

    • -Xmx128m
    • 修改jvm.options
    • 创建es容器并启动
     
    
    

    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -p 5601:5601 -v /Users/liyabing/elasticsearch/v7.17/node-1/config/elasticsearch-01.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/liyabing/elasticsearch/v7.17/node-1/plugins:/usr/share/elasticsearch/plugins -v /Users/liyabing/elasticsearch/v7.17/node-1/data:/usr/share/elasticsearch/data --name es01 elasticsearch:7.17.1

    
    


    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /Users/liyabing/elasticsearch/v7.17/node-2/config/elasticsearch-02.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/liyabing/elasticsearch/v7.17/node-2/plugins:/usr/share/elasticsearch/plugins -v /Users/liyabing/elasticsearch/v7.17/node-2/data:/usr/share/elasticsearch/data --name es02 elasticsearch:7.17.1

    
    


    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v /Users/liyabing/elasticsearch/v7.17/node-3/config/elasticsearch-03.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/liyabing/elasticsearch/v7.17/node-3/plugins:/usr/share/elasticsearch/plugins -v /Users/liyabing/elasticsearch/v7.17/node-3/data:/usr/share/elasticsearch/data --name es03 elasticsearch:7.17.1

      

  • 相关阅读:
    [安卓基础] 005.创建一个简单的UI
    [转]19张记录人类正在毁灭地球的照片
    SD.Team颜色代码大全
    [工具-004]如何从apk中提取AndroidManifest.xml并提取相应信息
    [Python番外]001.用Sublime开发Python
    [转]佛家四大经典爱情故事
    读Pyqt4教程,带你入门Pyqt4 _005
    读Pyqt4教程,带你入门Pyqt4 _004
    读Pyqt4教程,带你入门Pyqt4 _003
    [工具-003]如何从ipa中提取info.plist并提取相应信息
  • 原文地址:https://www.cnblogs.com/histlyb/p/16181454.html
Copyright © 2020-2023  润新知