1、首先 fork 一份 nacos 的代码到自己的 github 库,然后把代码 clone 到本地。
  git地址:https://github.com/alibaba/nacos.git
2、然后将你的项目导入到ideal编辑器中(找到子项目distribution)
3、添加集群节点:找到文件distribution->conf->cluster.conf.example,复制一份去掉后缀.example,编辑cluster.conf,将节点修为
  127.0.0.1:8841
  127.0.0.1:8842
  127.0.0.1:8843
4、修改数据源
  在distribution->conf->application.properties中添加数据源(将mysql改成自己服务的链接地址,包括账号密码)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos
db.password=nacos

  

5、在自己的数据库中导入数据
  将distribution->conf->nacos-mysql.sql中的表结构导入到自己要链接到的数据库中
6、打包
  然后在项目的根目录下执行以下命令(假设我们已经配置好了 java 和 maven 环境):mvn -Prelease-nacos clean install -U
  注:是项目存放在在本机的根目录D:\Workspaces\Nacos,然后在ideal中使用Terminal执行上述打包命令(前提是你安装了Terminal命令),打包完后会在distribution->target下生成两个压缩文件nacos-server-1.0.1.tar.gz(linux下使用)和nacos-server-1.0.1.zip(windows下使用)
7、集群配置
  a、创建节点:解压nacos-server-1.0.1.zip后,复制三份,分别命令为nacos-server-1.0.1-01、nacos-server-1.0.1-02、nacos-server-1.0.1-03;
  b、修改配置:修改三个节点的配置文件,打开文件nacos-server-1.0.1-01\nacos\conf\application.properties,将第一个节点的端口修改为server.port=8841,
  并修改nacos-server-1.0.1-01\nacos\bin\startup.sh文件,在JVM Configuration处,集群配置下添加下面两段代码:
  JAVA_OPT="${JAVA_OPT} -Dserver.ip=127.0.0.1"
  JAVA_OPT="${JAVA_OPT} -Dserver.port=8841"
  注:如果在linux上实验有用到不同网段的IP则需要指定IP,否则会报错。windows本机测试只需要指定端口即可。参考来源:https://www.wandouip.com/t5i278697/
  其他两个节点的配置同第一个节点一样。
8、启动服务
  本地启动:直接双击启动nacos-server-1.0.1-\nacos\bin\startup.cmd文件启动(或者bin目录下cmd命令输入cmd startup.cmd启动),然后可以直接到浏览器中输入http://127.0.0.1:8841/nacos/index.html进行访问,账号密码均为nacos
  注:启动之后切记勿关闭doc命令窗口,三个节点同时按照此方法进行启动。linux下启动:需要将nacos-server-1.0.1.tar.gz拷贝到服务器上,然后解压命令解压tar -xvf nacos-server-1.0.1.tar.gz,输入启动命令:sh startup.sh
9、修改账号密码
  在console项目下找到项目Nacos\console\src\main\java\com\alibaba\nacos\console\utils\PasswordEncoderUtil.java类,输入你将要设置的密码123456,运行生成加盐的字符串$2a$10$XNArlfqerD3jY4LepVByPO6X1qJQDDWJsmbFnusKxVWjCFgJpCHbm,然后到nacos数据库中,修改user表用户nacos的密码即可,用户名直接可以在数据库中修改。
10、Nginx代理配置
  本地三个节点均启动后,开始配置集群代理,打开nginx-1.14.2\conf\nginx.conf配置文件,添加下面两段代码:
#集群的3个节点
upstream nacos {
server 127.0.0.1:8841 weight=2;
server 127.0.0.1:8842 weight=2;
server 127.0.0.1:8843 weight=2;
} server {
listen 80;
server_name localhost;
location /nacos/ {
#代理
proxy_pass http://nacos/nacos/;
}
}
11、登录客户端
  http://localhost/nacos/index.html,输入预设好的账号和密码即可。

登录成功后的界面,集群节点查看

服务器配置后的节点效果

疑问一:我在本地配置了三个节点为什么在客户端只显示了一个节点,每次强制刷新页面时访问的节点会发生变化;每次而且节点状态和集群任期也会发生变化
  127.0.0.1/8整个都是环回地址,用来测试本机的TCP/IP协议栈,发往这段A类地址数据包不会出网卡,网络设备不会对其做路由
疑问二:当注册实例或者创建一个服务等操作时,节点状态和集群任期也会产生相应的变化。
  这个属于Ratf协议的内容,关于Raft协议的介绍可以参考https://www.jianshu.com/p/aa77c8f4cb5c

  

Nacos集群配置实例(windows下测试)的更多相关文章

  1. Apache负载均衡与Tomcat集群配置学习(Windows环境)

    本文主要参考自http://www.iteye.com/topic/985404?dhcc,经由实际操作配置操并记录而成. 由于最近的一个Java开发项目用到了Tomcat中间件作为web服务器,刚开 ...

  2. nacos集群配置

    一.    环境准备 Nacos 依赖 java环境来运行.如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用: 64 bit OS,支持 Lin ...

  3. MySQL Cluster 7.3.5 集群配置实例(入门篇)

    一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...

  4. hadoop集群配置实例

    1)ssh配置 http://allthingshadoop.com/2010/04/20/hadoop-cluster-setup-ssh-key-authentication/ 2) 修改打开文件 ...

  5. SuSe Linux 10 企业服务器搭建双机集群配置实例

      650) this.width=650;" onclick="window.open("http://blog.51cto.com/viewpic.php?refim ...

  6. MySQL Cluster 7.3.5 集群配置参数优化(优化篇)

    按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...

  7. 使用Prometheus和Grafana监控nacos集群

    官方文档:https://nacos.io/zh-cn/docs/monitor-guide.html 按照部署文档搭建好Nacos集群 配置application.properties文件,暴露me ...

  8. windows下Nacos集群搭建与nginx集成

    前言: nacos集群至少需要三个(一般为奇数个)nacos实 例,其前面顶nginx,外界入口从nginx入 一.windows下Nacos集群搭建 将Nacos的解压包复制分成3份,分别是: na ...

  9. kafka集群搭建(windows环境下)

    一.简介 Kafka 是一个实现了分布式的.具有分区.以及复制的日志的一个服务.它通过一套独特的设计提供了消息系统中间件的功能.它是一种发布订阅功能的消息系统. 1.名词介绍 Message 消息,就 ...

随机推荐

  1. 当 Redis 发生高延迟时,到底发生了什么

    Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解 ...

  2. UiPath之如何打印PDF

    各位小伙伴,大家好,今天写一点基础知识,如何在UiPath中打印PDF. ---小U的QQ群(714733686):小U的订阅号[UiPath8888]--- 当然,我们最希望的就是有一个Activi ...

  3. numpy---python数据分析

    最后大图可点开保存 文章目录 最后大图可点开保存 学习目标 3.1.1Numpy介绍 3.1.2 ndarray介绍 3.1.3 ndarray与Python原生list运算效率对比 3.1.4 nd ...

  4. jquery手机端横屏判断方法

    jquery手机端横屏判断方法<pre>$(function() { var bodywidth = $('body').width(); var bodyheight = $('body ...

  5. C#动态多态性的理解

    C#动态多态性是通过抽象类和虚方法实现的. 抽象类的理解 用关键字abstract创建抽象类,用于提供接口的部分类的实现(理解:接口不能提供实现,抽象类中可以有实现,接口与抽象类一起使用,可以达到父类 ...

  6. WPF CefSharp 爬虫

    1.实际需求          EMS邮件的自动分拣,要分拣首先需要获取邮件的面单号和邮寄地址,现在我们的快递一般都有纸质面单的,如果是直接使用图像识别技术从纸质面单中获取信息,这个开发的成本和实时性 ...

  7. linux redhat系列后缀为el5,el6,el7软件包的区别

    - EL6软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装 - EL5软件包用于在Red Hat 5.x, CentOS 5.x, Cloud ...

  8. [ERROR]element select is not allowed here

    问题:在使用IDEA搭建springboot项目的时候,在xml文件中遇到element select is not allowed here错误 原因:xml文件的头部的配置有错误,红框的三个地方命 ...

  9. nyoj 24-素数距离问题 (素数算法)

    24-素数距离问题 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:71 题目描述: 现在给出你一些数,要求你写出一个程序,输出这 ...

  10. 一文教你快速读懂MQTT网关

    MQTT是一种发布(publish)/订阅(subscribe)协议,MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与 ...