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

news2024/11/16 11:41:02

系列文章目录


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

文章目录

  • 系列文章目录
  • 前言
  • 一、redis集群
  • 二、mysql集群
  • 三、nacos集群
    • 1. 环境要求
    • 2. 拉取镜像
      • 2.1. 拉取镜像方式配置集群
      • 2.2. 自定义nacos镜像配置集群
    • 3 自定义Docker网络
    • 4 添加Nacos的环境变量
    • 5.挂载nacos的配置文件
    • 6.docker-compose部署nacos
    • 7 文件目录如下:


前言


一、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可以自定义,不冲突即可

启动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

在/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

5.挂载nacos的配置文件

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

在/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

6.docker-compose部署nacos

cd /data/nacos-docker
vim docker-compose.yaml
#新建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

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

7 文件目录如下:

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

3号机器启动报错

利用docker-compose编排nacos容器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1130402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么选择好的游戏平台开发商?

选择好的游戏平台开发商需要考虑以下几个方面: 开发经验 了解游戏开发公司的历史和经验是找到靠谱公司的重要步骤。查看公司的官方网站、社交媒体账号等渠道,了解公司的发展历程、团队规模、客户案例等。同时,了解公司是否有相关的游戏开发经…

创建 Edge 浏览器扩展教程(下)

创建 Edge 浏览器扩展教程(下) 创建扩展教程,第 2 部分1:更新弹出窗口.html以包含按钮2:更新弹出窗口.html在浏览器选项卡顶部显示图像3:创建弹出式 JavaScript 以发送消息4:从任何浏览器选项卡…

python爬虫分析基于python图书馆书目推荐数据分析与可视化

收藏关注不迷路 文章目录 前言一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、文章目录 前言 随着电子技术的普及和快速发展,线上管理系统被广泛的使用,有很多商业机构都在实现电子信息化管理,图书推荐也不例外&#xff0c…

AI智能监控平台EasyCVR+无人机方案:实时全景无死角全方面助力山区安防系统新升级

无人机作为高速发展的高科技设备,技术日趋成熟,目前已经被广泛应用于农业、森林防护、医疗、交通物流等等场景。但随着城市化进程的加快,人类对自然环境日益严重的破坏,近十几年来,森林火灾的发生频率和失火严重程度一…

设计模式(12)状态模式

参考【设计模式】用Java实现状态模式_java 状态模式_卷帘的博客-CSDN博客 一、介绍: 1、状态模式:是一种行为设计模式,它允许对象在内部状态发生改变时改变其行为。该模式将对象的行为包装在不同的状态类中,使得对象的行为可以根…

Node编写重置用户密码接口

目录 前言 定义路由和处理函数 验证表单数据 实现重置密码功能 前言 接前面文章,本文介绍如何编写重置用户密码接口 定义路由和处理函数 路由 // 重置密码的路由 router.post(/updatepwd, userinfo_handler.updatePassword) 处理函数 exports.updatePasswo…

python造测试数据存到excel

代码: from ExcelHandler import ExcelHandler from faker import Faker # 导入faker库的Faker方法 # ↓默认为en_US,只有使用了相关语言才能生成相对应的随机数据 fkFaker(locale"zh_CN")def create_date():m int(input(请输入要造的数据条…

Zabbix“专家坐诊”第208期问答汇总

问题一 Q:请问大佬们,我的测试机部署了2个版本的zabbix服务端,在启动第二个的时候报这个错,请问这个路径能在配置文件修改吗? SYJKLiLB64dded94d3c0c.png A:报错是你的进程存在,无法启动。一个…

【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--笔记

0. 内容 1. 时间戳同步问题及意义 时间戳同步的原因:如果不同步,由于IMU频率高,可能由于时间戳不同步而导致在两帧camera之间的时间内用多了或者用少了IMU的数据,且时间不同步会导致我们首尾camera和IMU数据时间不同,…

docker和K8S环境xxl-job定时任务不执行问题总结

文章目录 xxl-job 任务调度原理1 问题1 时区导致的任务没有执行的问题解决方案 2 执行器注册和下线导致的问题(IP问题)解决方案 3 问题3 调度成功,但是执行器的定时任务未执行4 问题4 数据库性能问题,导致查询任务和操作日志数据卡…

I/O 模型学习笔记【全面理解BIO/NIO/AIO】

文章目录 I/O 模型什么是 I/O 模型Java支持3种I/O模型BIO(Blocking I/O)NIO(Non-blocking I/O)AIO(Asynchronous I/O) BIO、NIO、AIO适用场景分析 java BIOJava BIO 基本介绍Java BIO 编程流程一个栗子实现…

Unity使用c#开发apk项目(十九)(Failed to find entry-points:System.Exception: )

文章目录 前言解决方案:1.报警信息如下2.选择3d urp3.引入Fusion之后选择包管理,点击Burst中的Advanced Project Settings4.勾选两个预设选项5.引入官网unity.burst6.更新后报警消失前言 制作局域网游戏,出现未找到进入点报警 Failed to find entry-points 解决方案: 1.报…

二十二、设计模式之访问者模式

目录 二十二、设计模式之访问者模式能帮我们干什么?主要解决什么问题?特点 优缺点优点缺点: 使用的场景角色实现访问者模式 总结 二十二、设计模式之访问者模式 所属类型定义行为型表示一个作用于某对象结构中的各元素的操作。它使你可以在不…

【学习笔记】Git开发流程

Git开发大致流程图: 具体流程: 首先一个从仓库的main分支,然后从main分支中拉一个功能分支feature/xxx,在多人开发这个功能的时候拉去自己的个人分支比如:xxx/xxx 。然后每天开发完个人分支后压缩commit,…

flask连接sqllite,并进行一些基本的增删改查操作

flask连接sqllite,并进行一些基本的增删改查操作 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流…

docker部署prometheus+grafana服务器监控(三) - 配置grafana

查看 prometheus 访问 http://ip:9090/targets,效果如下,上面我们通过 node_exporter 收集的节点状态是 up 状态。 配置 Grafana 访问 http://ip:3000,登录 Grafana,默认的账号密码是 admin:admin,首次登录需要修改…

【STM32】HAL库ADC多通道精准测量(采用VREFINT内部参考电压)

【STM32】HAL库ADC多通道精准测量(采用VREFINT内部参考电压) 文章目录 多通道测量VREFINTADC采样周期多通道配置 附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时 位带操作…

如何在Android Termux上安装MySQL并实现公网远程访问?

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…

Django 地址接口开发

应用 Mixin 混合类进行收货地址接口开发 python ../manage.py startapp address继承了mixins扩展类,进到里面可以稍微看下源码 该方法帮我们实现了获取验证及保存的功能 address/views from rest_framework.generics import GenericAPIView from rest_framewo…

北大提出RestGPT框架,通过RESTful API控制真实应用的Agent

©PaperWeekly 原创 作者 | 宋一帆 单位 | 北京大学计算语言学研究所博士生 研究方向 | 自然语言处理 论文题目: RestGPT: Connecting Large Language Models with Real-World RESTful APIs 论文链接: https://arxiv.org/abs/2306.06624 代码链接&a…