• wf-docker集群搭建(未完结)


    系列文章目录


    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言


    一、redis集群

    二、mysql集群

    三、nacos集群

    采用Nginx+域名模式进行搭建Nacos2.0.3 三节点的高可用集群

    1. 环境要求

    一台nginx,3台nacos

    系统ip插件
    centos7192.168.0.2docker、docker-compose、nginx
    centos7192.168.0.2docker、docker-compose、nacos
    centos7192.168.0.3docker、docker-compose、nacos
    centos7192.168.0.203docker、docker-compose、nacos

    2. 拉取镜像

    2.1. 拉取镜像方式配置集群

    基于Docker搭建Nacos高可用集群

    KubeSphere 和 知名开源项目 Pig 最佳实践

    2.2. 自定义nacos镜像配置集群

    本文采用自定义nacos镜像部署nacos集群

    代码https://gitee.com/bjh1993/wf/tree/master/wf-register

    3 自定义Docker网络

    sudo docker network create --driver bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 wfnet
    ###说明:wfnet是docker自定义的网络名称,此处的172.18可以自定义,不冲突即可
    
    • 1
    • 2

    启动docker后:docker默认网络有3个,无法删除
    在这里插入图片描述

    4 添加Nacos的环境变量

    #以192.168.0.2为例:

    #新建目录(可以自定义) 若干 :
    mkdir  /data/nacos-docker/ -p 
    mkdir  /data/nacos-docker/env/ -p
    mkdir  /data/nacos-docker/init.d/ -p
    
    cd /data/nacos-docker/env/
    vim nacos-ip.env
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在/data/nacos-docker/env/目录下新建nacos-ip.env文件,内容如下:

    #nacos dev env#如果支持主机名可以使用hostname,否则使用ip,默认也是ip
    #PREFER_HOST_MODE=ip
    PREFER_HOST_MODE=hostname 
    MODE=cluster
    #多网卡情况下,指定ip或网卡
    NACOS_SERVER_IP=192.168.0.2
    #集群中其它节点[ip1:port ip2:port ip3:port]
    NACOS_SERVERS=192.168.0.2:8848 192.168.0.3:8848 192.168.0.203:8848
    #nacos的web端口,不写默认就是8848
    NACOS_APPLICATION_PORT=8848
    #数据源平台 仅支持mysql或不保存empty
    SPRING_DATASOURCE_PLATFORM=mysql
    MYSQL_SERVICE_HOST=192.168.0.2
    MYSQL_SERVICE_DB_NAME=wf_config
    MYSQL_SERVICE_PORT=3306
    MYSQL_SERVICE_USER=root
    MYSQL_SERVICE_PASSWORD=wm_10088
    MYSQL_DATABASE_NUM=1
    #JVM调优参数
    JVM_XMS=2g
    JVM_XMX=2g
    JVM_XMN=2g
    JVM_MS=128m
    JVM_MMS=320m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    5.挂载nacos的配置文件

    cd /data/nacos-docker/init.d
    vim custom.properties
    
    • 1
    • 2

    在/data/nacos-docker/init.d目录下新建custom.properties文件,内容如下:

    #spring.security.enabled=false
    #management.security=false
    #security.basic.enabled=false
    #nacos.security.ignore.urls=/**
    #management.metrics.export.elastic.host=http://localhost:9200
    # metrics for prometheus
    management.endpoints.web.exposure.include=*
    
    # metrics for elastic search
    #management.metrics.export.elastic.enabled=false
    #management.metrics.export.elastic.host=http://localhost:9200
    
    # metrics for influx
    #management.metrics.export.influx.enabled=false
    #management.metrics.export.influx.db=springboot
    #management.metrics.export.influx.uri=http://localhost:8086
    #management.metrics.export.influx.auto-create-db=true
    #management.metrics.export.influx.consistency=one
    #management.metrics.export.influx.compressed=true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    6.docker-compose部署nacos

    cd /data/nacos-docker
    vim docker-compose.yaml
    
    • 1
    • 2
    #新建docker-compose.yaml文件,内容如下:
    version: '3'
    services:
      wf-register:
        build:
          context: /home/wf/wf-service/wf/wf-register # wf-register代码及Dockerfile地址
        restart: always
        ports:
          - "7848:7848"
          - "8848:8848"
          - "9848:9848"
          - "9555:9555"
          - "9849:9849"
        container_name: wf-register
        hostname: wf-register
        image: wf-register
        extra_hosts:
          - "wf-mysql:192.168.0.2"
        privileged: true
        networks:
          - wfnet
        volumes:
          - ./cluster-logs:/home/nacos/logs
          - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
        env_file:
          - ./env/nacos-ip.env
    
    networks:
      wfnet:
        external: true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    注:其中端口 7848、8848、9848、9849是必须要开放的端口,8848是web页面端口,7848是集群数据同步接口,9848、9849是nacos 2.0.0以上的版本必须开发的端口。

    7 文件目录如下:

    目录结构如下(若是自定义,请注意修改docker-compose文件中对应的路径):
    在这里插入图片描述

    3号机器启动报错

    利用docker-compose编排nacos容器

  • 相关阅读:
    java之string类用法详解
    18. “状态变化”模式 之State模式(状态模式)
    [附源码]计算机毕业设计JAVA龙虎时代健身房管理系统
    jsp高校学生资助管理系统myeclipse开发mysql数据库serlvet技术BS模式java编程网页结构
    1286_FreeRTOS的任务优先级设置实现分析
    【043】基于51单片机的篮球比赛积分计时系统Proteus仿真
    CoordinatorLayout/AppBarLayout记录滚动位置异常问题
    计算机毕业论文基于Python实现的电脑硬件配置推荐官网
    当添加一个键值对元素时,HashMap发生了什么?
    洛谷题单算法1-6二分查找与二分答案
  • 原文地址:https://blog.csdn.net/User_bie/article/details/127497889