Nacos 集群搭建

准备三台服务器或者在 VMware 上装三个虚拟机,我们用的是虚拟机 Centos 7,这里使用的是 docker 部署

方式一:分别在三个虚拟中装上 docker 和 nacos 镜像

  • 装 docker
yum -y install docker
  • 装 naocs
docker pull nacos/nacos-server
  • 在其中一台虚拟机上装一个 mysql
docker pull mysql:8
  • 分别在每台虚拟机中集群模式启动 nacos 容器
# 创建守护式容器 nacos
docker run -di --name=nacos \
# 集群模式启动
-e MODE=cluster \
# 集群节点  ip:port
-e NACOS_SERVERS=192.168.117.140:8848,192.168.117.141:8848,192.168.117.142:8848 \
# 是否支持 hostname 默认是 ip
-e PREFER_HOST_MODE=hostname 
# 多网卡下的自定义 nacos 服务器 ip 一定要加上对应到每个服务以 ip 就可以
-e NACOS_SERVER_IP=192.168.117.140 
# 映射端口
-p 8848:8848 
# 挂在目录
-v /root/data/logs:/home/nacos/logs 
--privileged=true 
# 镜像名称
docker.io/nacos/nacos-server

启动完进入容器修改 applicaiton.properties 配置

  • 进入容器
docker exec -it nacos /bin/bash
  • 修改 application.properties 文件
vim conf/application.properties
image.png

我这这里只用了一个数据库是192.168.117.142 服务器上的数据库,其他虚拟机配置一样

  • 修改完后重启 nacos 容器,集群就完成了
docker restart nacos

方式二:使用 docker-compose

  • 下载 docker-compose 版本号自行修改
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  • 设置权限
sudo chmod +x /usr/local/bin/docker-compose
  • 查看版本
docker-compose --version

Centos 7 安装 docker-compose 内核版本在 3.10 以上

  • 通过 uname -r 查看当前内核
uname -r
image.png
  • 在安装docker-compose之前首先检查是否安装了python-pip
pip -v
  • 没有安装则依次执行命令
[root@localhost ~] yum -y install epel-release
[root@localhost ~] yum -y install python-pip
[root@localhost ~] pip install --upgrade pip
[root@localhost ~] pip install docker-compose --ignore-installed requests 
[root@localhost ~] docker-compose -version
  • 安装成功后执行docker-compose --version失败的情况
  1. docker-compose无可执行权限
-bash: /usr/local/bin/docker-compose: Permission denied

添加权限

chmod +x /usr/local/bin/docker-compose
  1. 增加可执行权限后
[2468] Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

解决办法

  • 进入下面的网址下载目前的最新版:
    https://github.com/docker/compose/releases/tag/1.14.0-rc2
    网页最下面
    docker-compose-Linux-x86_64
    然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,增加可执行:
chmod +x /usr/local/bin/docker-compose
  • 然后在查看版本
[root@localhost bin]# docker-compose -version
docker-compose version 1.14.0-rc2, build 24dae73

ubuntu 安装

使用自带的下载源,使用阿里云的下载源没有下载成功,执行命令

sudo apt-get install docker-compose
  • clone 项目
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
  • cd 到 example 目录创建文件 cluster-deploy.yaml 文件,mysql 的配置可以,我配置了好像没有什么卵用,不知道怎么回事,还需要手动去改 application.properties。
    文件内容
version: "3"
services:
  nacos:
    hostname: nacos-1
    image: nacos/nacos-server:latest
    container_name: nacos
    environment:
      - MODE=cluster # 集群模式
      - NACOS_SERVERS=192.168.117.140:8848,192.168.117.141:8848,192.168.117.142:8848 # IP1,IP2是对应的服务器外网,PORT1,PORT2是对应的nacos服务端口
      - PREFER_HOST_MODE=hostname
      - NACOS_SERVER_IP=192.168.117.130 # 服务器外网
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_MASTER_SERVICE_HOST=192.168.117.130 # mysql数据库对应的ip
      - MYSQL_MASTER_SERVICE_PORT=3306    # mysql数据库对应的端口
      - MYSQL_MASTER_SERVICE_DB_NAME=nacos_devtest 
      - MYSQL_MASTER_SERVICE_USER=root
      - MYSQL_MASTER_SERVICE_PASSWORD=root
      - MYSQL_DATABASE_NUM=1 # 数据源为1个
    volumes:
      - /root/myLocal/logs:/home/nacos/logs # 日志的挂在
    ports:
      - "8848:8848"
      - "9555:9555"
    restart: on-failure # 开机自启
    privileged: true
  • 执行安装命令
docker-compose -f example/cluster-deploy.yaml up 
  • 通过 ip 访问


    image.png

我这里是两台电脑,一台电脑负责在 VMware 中安装三台 centos7 另一个电脑服务连接,我们通过 VMware 将虚拟机的 ip 映射到宿主机也就是 电脑上,让另一台电脑可以通过安装虚拟机的电脑 ip 访问

image.png

image.png

image.png

image.png

image.png
  • 保存确定就可以使用主机 ip 进行访问了


    image.png
  • 这时另一台电脑就可以连接了

客户端连接方式有两种

  • 第一种:可以在单机的基础上加多个IP和端口中间用逗号隔开


    image.png
  • 第二种:配合Nginx代理我们的Nacos的集群,配置里就直接写Nginx的IP和端口即可
    upstream nacos_server{
        server 192.168.1.107:8888;
        server 192.168.1.107:8881;
        server 192.168.1.107:8882;
    }
    server {
        listen       8899;
        server_name  localhost;

        location /nacos/ {
           proxy_set_header Host $http_host;
           proxy_pass http://nacos_server/nacos/;
        }
    }
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259