当前位置: 首页 > news >正文

nacos 集群搭建

主机准备

IProle
192.168.142.155slave02
192.168.142.156slave
192.168.142.157master

三台主机上分别构建 mysql 镜像

FROM mysql:8.0.31
ADD https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql /docker-entrypoint-initdb.d/nacos-mysql.sql
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/nacos-mysql.sql
EXPOSE 3306
CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]

master 的 docker-compose.yml

services:nacos:hostname: mastercontainer_name: nacosimage: nacos/nacos-servervolumes:- ./cluster-logs/nacos1:/home/nacos/logsports:- "7848:7848"- "8848:8848"- "9868:9848"- "9850:9849"networks:- nacos_networkenvironment:- PREFER_HOST_MODE=master- NACOS_SERVERS=master:8848 slave:8848 slave02:8848- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_DB_NAME=nacos_devtest- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=nacos- MYSQL_SERVICE_PASSWORD=nacos- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true- NACOS_AUTH_IDENTITY_KEY=2222- NACOS_AUTH_IDENTITY_VALUE=2xxx- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789restart: alwaysdepends_on:mysql:condition: service_healthymysql:container_name: mysqlimage: nacos-mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- MYSQL_DATABASE=nacos_devtest- MYSQL_USER=nacos- MYSQL_PASSWORD=nacos- LANG=C.UTF-8volumes:- ./mysql:/var/lib/mysqlports:- "3306:3306"networks:- nacos_networkhealthcheck:test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]interval: 5stimeout: 10sretries: 10
networks:nacos_network:driver: bridge

slave 的 docker-compose.yml

services:nacos:hostname: slavecontainer_name: nacosimage: nacos/nacos-servervolumes:- ./cluster-logs/nacos1:/home/nacos/logsports:- "7848:7848"- "8848:8848"- "9868:9848"- "9850:9849"networks:- nacos_networkenvironment:- PREFER_HOST_MODE=slave- NACOS_SERVERS=master:8848 slave:8848 slave02:8848- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_DB_NAME=nacos_devtest- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=nacos- MYSQL_SERVICE_PASSWORD=nacos- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true- NACOS_AUTH_IDENTITY_KEY=2222- NACOS_AUTH_IDENTITY_VALUE=2xxx- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789restart: alwaysdepends_on:mysql:condition: service_healthymysql:container_name: mysqlimage: nacos-mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- MYSQL_DATABASE=nacos_devtest- MYSQL_USER=nacos- MYSQL_PASSWORD=nacos- LANG=C.UTF-8volumes:- ./mysql:/var/lib/mysqlports:- "3306:3306"networks:- nacos_networkhealthcheck:test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]interval: 5stimeout: 10sretries: 10
networks:nacos_network:driver: bridge

slave02 的 docker-compose.yml 文件

services:nacos:hostname: slave02container_name: nacosimage: nacos/nacos-servervolumes:- ./cluster-logs/nacos1:/home/nacos/logsports:- "7848:7848"- "8848:8848"- "9868:9848"- "9850:9849"networks:- nacos_networkenvironment:- PREFER_HOST_MODE=slave02- NACOS_SERVERS=master:8848 slave:8848 slave02:8848- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_DB_NAME=nacos_devtest- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=nacos- MYSQL_SERVICE_PASSWORD=nacos- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true- NACOS_AUTH_IDENTITY_KEY=2222- NACOS_AUTH_IDENTITY_VALUE=2xxx- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789restart: alwaysdepends_on:mysql:condition: service_healthymysql:container_name: mysqlimage: nacos-mysqlenvironment:- MYSQL_ROOT_PASSWORD=root- MYSQL_DATABASE=nacos_devtest- MYSQL_USER=nacos- MYSQL_PASSWORD=nacos- LANG=C.UTF-8volumes:- ./mysql:/var/lib/mysqlports:- "3306:3306"networks:- nacos_networkhealthcheck:test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]interval: 5stimeout: 10sretries: 10
networks:nacos_network:driver: bridge

最终效果

打开浏览器分别使用三个 ip 地址访问

192.168.142.155:8848/nacos
192.168.142.156:8848/nacos
192.168.142.157:8848/nacos

三篇 docker-compose.yml 都大差不差只有一点变化

PREFER_HOST_MODE=slave

写自己的主机名即可

http://www.lryc.cn/news/446137.html

相关文章:

  • STM32快速复习(十二)FLASH闪存的读写
  • 漏洞扫描工具使用
  • C++ | Leetcode C++题解之第424题替换后的最长重复字符
  • 利士策分享,动摇时刻的自我救赎
  • 动手学深度学习(李沐)PyTorch 第 1 章 引言
  • 二叉树(二)深度遍历和广度遍历
  • 【算法——双指针】
  • Rocky Linux 9 中添加或删除某个网卡的静态路由的方法
  • 网站建设中常见的网站后台开发语言有哪几种,各自优缺点都是什么?
  • 【程序大侠传】应用内存缓步攀升,告警如影随形
  • JavaWEB概述
  • 半结构化知识抽取案例
  • Oracle Truncate和delete的区别
  • 应用层协议 --- HTTP
  • 网卡Network Interface Card
  • 9.1 Linux_I/O_基本知识
  • [Java]一、面向对象核心编程思想
  • 科研绘图系列:R语言多个AUC曲线图(multiple AUC curves)
  • JavaWeb--纯小白笔记06:使用Idea创建Web项目,Servlet生命周期,注解,中文乱码解决
  • jQuery——jQuery的2把利器
  • Day29笔记-Python操作pdfPython发送邮件
  • Seata分布式事务实践
  • 数字IC设计\FPGA 职位经典笔试面试整理--基础篇2
  • (务必收藏)推荐市面上8款AI自动写文献综述的网站
  • 【python】运算符
  • C++深入学习string类成员函数(1):默认与迭代
  • DataGrip远程连接Hive
  • go 读取excel
  • Linux进阶系列(四)——awk、sed、端口管理、crontab
  • 利用Metasploit进行信息收集与扫描