美文网首页Spring Cloud
Nacos 集群搭建

Nacos 集群搭建

作者: 吉他手_c156 | 来源:发表于2020-10-09 00:09 被阅读0次

    准备三台服务器或者在 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

    相关文章

      网友评论

        本文标题:Nacos 集群搭建

        本文链接:https://www.haomeiwen.com/subject/zoskpktx.html