Nacos的安装方法

本篇文章给大家分享的是有关Nacos的安装方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

为惠阳等地区用户提供了全套网页设计制作服务,及惠阳网站建设行业解决方案。主营业务为成都网站设计、网站制作、惠阳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Nacos

一、Spring Cloud 、Spring Cloud Alibaba 、Nacos版本对应关系

官方版本说明

版本说明

format edited this page 2019/7/1 · 13 revisions

版本依赖关系

Spring Cloud VersionSpring Cloud Alibaba VersionSpring Boot Version
Spring Cloud Greenwich0.9.0.RELEASE2.1.X.RELEASE
Spring Cloud Finchley0.2.X.RELEASE2.0.X.RELEASE
Spring Cloud Edgware0.1.X.RELEASE1.5.X.RELEASE
Note请注意, Spring Cloud Edgware 最低支持 Edgware.SR5 版本


组件版本关系

Spring Cloud Alibaba VersionSentinel VersionNacos VersionRocketMQ VersionDubbo VersionSeata Version
0.9.0.RELEASE or 0.2.2.RELEASE or 0.1.2.RELEASE1.5.21.0.04.4.02.7.10.4.2
0.2.1.RELEASE or 0.1.1.RELEASE1.4.00.6.24.3.1
0.2.0.RELEASE or 0.1.0.RELEASE1.3.0-GA0.3.0

依赖管理

Spring Cloud Alibaba BOM 包含了它所使用的所有依赖的版本。

RELEASE 版本

Spring Cloud Greenwich

如果需要使用 Spring Cloud Greenwich 版本,请在 dependencyManagement 中添加如下内容


    org.springframework.cloud
    spring-cloud-alibaba-dependencies
    0.9.0.RELEASE
    pom
    import
Spring Cloud Finchley

如果需要使用 Spring Cloud Finchley 版本,请在 dependencyManagement 中添加如下内容


    org.springframework.cloud
    spring-cloud-alibaba-dependencies
    0.2.2.RELEASE
    pom
    import
Spring Cloud Edgware

如果需要使用 Spring Cloud Edgware 版本,请在 dependencyManagement 中添加如下内容


    org.springframework.cloud
    spring-cloud-alibaba-dependencies
    0.1.2.RELEASE
    pom
    import

BUILD-SNAPSHOT 版本

如果您想使用最近的 SNAPSHOT 版本,首先需要在你的 maven 配置中加入 Spring BUILDSNAPSHOT 仓库,可以在 Maven 配置文件中的 settings.xml 或者 Java 工程的 pom.xml 中配置,


    
        spring-snapshot
        Spring Snapshot Repository
        https://repo.spring.io/snapshot
        
            true
        
    
Note请注意, BUILD-SNAPSHOT 版本随时可能更新


Spring Cloud Greenwich

如果需要使用 Spring Cloud Greenwich 版本,请在 dependencyManagement 中添加如下内容


    org.springframework.cloud
    spring-cloud-alibaba-dependencies
    0.9.1.BUILD-SNAPSHOT
    pom
    import
Spring Cloud Finchley

如果需要使用 Spring Cloud Finchley 版本,请在 dependencyManagement 中添加如下内容


    org.springframework.cloud
    spring-cloud-alibaba-dependencies
    0.2.3.BUILD-SNAPSHOT
    pom
    import
Spring Cloud Edgware

如果需要使用 Spring Cloud Edgware 版本,请在 dependencyManagement 中添加如下内容


    org.springframework.cloud
    spring-cloud-alibaba-dependencies
    0.1.3.BUILD-SNAPSHOT
    pom
    import

二、 单机部署Nacos

1. 使用docker部署

1.1 下载镜像

github地址

dockerhub

注意:需要github中的分支版本号和docker镜像地址版本一致,如:nacos-server:0.6.0不支持prometheus和grafana,而最新版本支持

#如果使用最新版
git clone --depth 1 https://github.com/nacos-group/nacos-docker.git

如果使用的不是最新版本的docker镜像

那么需要在github中查找相应的版本,然后下载zip文件,并使用ftp上传到centos服务器

Nacos的安装方法

1.2 部署镜像

  • Standalone Derby(单机部署,使用Derby)

    Derby是Java编写的内嵌数据库,不要引入MySQL

    docker-compose -f example/standalone-derby.yaml up -d

    配置文件

    version: "3.7" 
    services:
      nacos:
        image: nacos/nacos-server:1.1.0 #一般不要使用latest
        container_name: nacos-standalone #容器实例命名
        environment:
        - PREFER_HOST_MODE=hostname 
        - MODE=standalone #部署模式
        volumes:
        - ./standalone-logs/:/home/nacos/logs
        - ./init.d/custom.properties:/home/nacos/init.d/custom.properties #配置使用prometheus、fluxdb、ES
        ports:
        - "8848:8848"
      prometheus:
        container_name: prometheus
        image: prom/prometheus:v2.11.1
        volumes:
          - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml #配置监控点
        ports:
          - "9090:9090"
        depends_on:
          - nacos #服务映射
        restart: on-failure
      grafana:
        container_name: grafana
        image: grafana/grafana:6.2.5
        ports:
          - 3000:3000
        restart: on-failure

    version是docker-compose文件格式与docker的版本对应关系

    版本说明

    Compose file formatDocker Engine release
    3.718.06.0+
    3.618.02.0+
    3.517.12.0+
    3.417.09.0+
    3.317.06.0+
    3.217.04.0+
    3.11.13.1+
    3.01.13.0+
    2.417.12.0+
    2.317.06.0+
    2.21.13.0+
    2.11.12.0+
    2.01.10.0+
    1.01.9.1.+
  • Standalone Mysql(单机部署,使用Mysql)

    docker-compose -f example/standalone-mysql.yaml up -d

    配置文件

    version: "3.7"
    services:
      nacos:
        image: nacos/nacos-server:1.1.0
        container_name: nacos-standalone-mysql
        environment:
          - PREFER_HOST_MODE=hostname
          - MODE=standalone
          - SPRING_DATASOURCE_PLATFORM=mysql
          - MYSQL_MASTER_SERVICE_HOST=mysql-master
          - MYSQL_MASTER_SERVICE_DB_NAME=nacos_devtest
          - MYSQL_MASTER_SERVICE_PORT=3306
          - MYSQL_SLAVE_SERVICE_HOST=mysql-slave
          - MYSQL_SLAVE_SERVICE_PORT=3305
          - MYSQL_MASTER_SERVICE_USER=nacos
          - MYSQL_MASTER_SERVICE_PASSWORD=nacos
        volumes:
          - ./standalone-logs/:/home/nacos/logs
          - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
        ports:
          - "8848:8848"
          - "9555:9555"
        depends_on:
          - mysql-slave
        restart: on-failure
      mysql-master:
        container_name: mysql-master
        image: nacos/nacos-mysql-master:latest
        env_file:
          - ../env/mysql-common.env
          - ../env/mysql-master.env
        volumes:
          - ./mysql-master:/var/lib/mysql
        ports:
          - "3306:3306"
      mysql-slave:
        container_name: mysql-slave
        image: nacos/nacos-mysql-slave:latest
        env_file:
          - ../env/mysql-common.env
          - ../env/mysql-slave.env
        volumes:
          - ./mysql-slave:/var/lib/mysql
        ports:
          - "3305:3306"
        depends_on:
          - mysql-master
      prometheus:
        container_name: prometheus
        image: prom/prometheus:v2.11.1
        volumes:
          - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
        ports:
          - "9090:9090"
        depends_on:
          - nacos
        restart: on-failure
      grafana:
        container_name: grafana
        image: grafana/grafana:6.2.5
        ports:
          - 3000:3000
        restart: on-failure

    三、 集群部署Nacos

  • Cluster(集群部署)

    需要5G的内存预留

    docker-compose -f example/cluster-hostname.yaml up -d

    配置文件

    version: "3.7"
    services:
      nacos1:
        hostname: nacos1
        container_name: nacos1
        image: nacos/nacos-server:1.1.0
        volumes:
          - /usr/local/use_data/nacos/nacos-cluster/nacos-1/data/logs:/home/nacos/logs
          - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
        ports:
          - "8849:8848"
          - "9555:9555"
        env_file:
          - ../env/nacos-hostname.env
        restart: on-failure
        depends_on:
          - mysql-master
          - mysql-slave
    
      nacos2:
        hostname: nacos2
        image: nacos/nacos-server:latest
        container_name: nacos2
        volumes:
          - /usr/local/use_data/nacos/nacos-cluster/nacos-2/data/logs:/home/nacos/logs
          - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
        ports:
          - "8850:8848"
        env_file:
          - ../env/nacos-hostname.env
        restart: on-failure
        depends_on:
          - mysql-master
          - mysql-slave
      nacos3:
        hostname: nacos3
        image: nacos/nacos-server:latest
        container_name: nacos3
        volumes:
          - /usr/local/use_data/nacos/nacos-cluster/nacos-3/data/logs:/home/nacos/logs
          - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
        ports:
          - "8851:8848"
        env_file:
          - ../env/nacos-hostname.env
        restart: on-failure
        depends_on:
          - mysql-master
          - mysql-slave
      mysql-master:
        container_name: mysql-master
        image: nacos/nacos-mysql-master:latest
        env_file:
          - ../env/mysql-common.env
          - ../env/mysql-master.env
        volumes:
          - /usr/local/use_data/nacos/nacos-cluster/mysql-master:/var/lib/mysql
        ports:
          - "3306:3306"
      mysql-slave:
        container_name: mysql-slave
        image: nacos/nacos-mysql-slave:latest
        env_file:
          - ../env/mysql-common.env
          - ../env/mysql-slave.env
        volumes:
          - /usr/local/use_data/nacos/nacos-cluster/mysql-slave:/var/lib/mysql
        ports:
          - "3305:3306"
        depends_on:
          - mysql-master
      prometheus:
        container_name: prometheus
        image: prom/prometheus:v2.11.1
        volumes:
          - ./prometheus/prometheus-cluster.yaml:/etc/prometheus/prometheus.yml
        ports:
          - "9091:9090"
        depends_on:
          - nacos1
          - nacos2
          - nacos3
        restart: on-failure
      grafana:
        container_name: grafana
        image: grafana/grafana:6.2.5
        ports:
            - 3000:3000
        restart: on-failure

    四、 测试

  • 服务注册

    curl -X PUT 'http://{ip}:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

  • 服务发现

    curl -X GET 'http://{ip}:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'

  • 发布配置

    curl -X POST "http://{ip}:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

  • 获取配置

      curl -X GET "http://{ip}:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

  • 使用浏览器打开

    link:http://${ip}:8848/nacos/

    Nacos的安装方法

    账号:nacos/nacos

    Nacos的安装方法

  • 使用prometheus查看监控数据

    link:http://${ip}:9090

    Nacos的安装方法

    Nacos的安装方法

  • 使用grafana监控ui面板

    link:http://${ip}:3000

Nacos的安装方法

Nacos的安装方法

Nacos的安装方法

Nacos的安装方法

Nacos的安装方法

五、 停止和启动nacos

因为使用的是docker-compose编排,故使用docker-compose命令

#查询运行的容器
docker-compose -f example/cluster-hostname.yaml ps
#停止运行的容器
docker-compose -f example/cluster-hostname.yaml stop
#启动容器
docker-compose -f example/cluster-hostname.yaml start
#重启容器
docker-compose -f example/cluster-hostname.yaml restart
#删除容器
docker-compose -f example/cluster-hostname.yaml rm

以上就是Nacos的安装方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


分享文章:Nacos的安装方法
标题路径:http://csdahua.cn/article/gioeoe.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流