nacos初体验-踩坑与填坑篇

最近在看RuoYi的分布式微服务架构权限管理系统,RuoYi的注册中心和配置中心都是采用alibaba的nacos,本文主要介绍使用Windows10 电脑安装 nacos 1.3.2 以及启动nacos中遇到的一些问题以及解决方法。

一、下载nacos安装程序

1.1 下载nacos

按照nacos官网的快速开始手册,下载nacos的方式有2种,第一种下载编译后压缩包的nacos,第二种方式,直接在github上下载源程序,然后编译生成最终可执行的程序。

本次主要是安装nacos,没有选择难度稍微较高的源程序编译的方式,直接选择下载已经编译后的程序包,从 nacos最新稳定版本列表 下载 nacos-server-$version.zip 包,这个过程比较简单,选择最新版本nacos-server-1.3.2.zip 下载。

编译后的压缩包有两种压缩方式,一种是zip压缩文件后缀,另外一种是tar.gz的压缩文件后缀,如果在Windows操作系统上,建议下载zip结尾的程序包,直接解压即可,tar.gz后缀的文件使用7zip解压2次才算解压完成,通常在linux等操作系统更方便解压。除此之外,解压后的内容没有其他的差异,大家可以放心使用。

1.2 启动nacos

nacos提供两个启动脚本,分别是startup.cmdstartup.sh;由于使用Windows 操作系统,选择直接执行startup.cmd文件,在nacos快速开始手册中,建议双击startup.cmd 或者在命令窗口使用cmd startup.cmd的方式,在这里使用cmd命令窗口,执行startup.cmd命令。

建议:使用双击方式也可以启动nacos,但是如果命令启动过程中出现错误,命令窗口会一闪而过,还需要通过查看日志才能知道出现哪些错误

技巧:在这里跟大家说一个小的技巧,在cmd窗口中如何快速到达指定文件目录,只需要指定的文件目录的文件导航窗口输入cmd回车即可。

cmd窗口快速到达指定文件目录

可以看到在cmd的文件目录直接到达指定的文件目录,避免不断的编写cd命令
效果图

二、出现问题列表

在执行启动命令的时候,大坑、小坑不断的出现,本章节主要通过罗列出现的问题,最后放出最优的解决方法。

2.1 小坑:在命令行执行 cmd startup.cmd 没有反应

在nacos官网文档中,Windows操作系统启动nacos的命令

cmd startup.cmd

问题现象

启动nacos无响应

不知是否因为是win10的原因,建议阿里的相关程序员能够看到这,完善快速手册,避免小白踩坑。

解决方法:
直接在cmd中输入startup.cmd回车即可

2.2 大坑: 启动失败,提示java.io.IOException: java.lang.IllegalArgumentException: db.num is null

问题现象:
控制台中出现db.num is null的错误提示信息

db.num is null

解决方法:
参考nacos的issues中找到了解决办法,需要在启动时,指定启动的模式

如果是非单机模式启动 默认使用mysql作为外置数据库,此时需要到conf/application.properties内添加mysql的相关配置参数。否则就会去找jdbc.properties,两者都没有,那相当于依赖没有启动成功,自然就启动不起来。

解决方法是启动时加上 -p embedded 使用derby + jraft的内嵌数据库,或者-m standalone启动单机模式

修改启动代码,可以在下面的代码中任选其一进行执行,在这里直接选择了单机模式。

# 使用derby +jraft的内嵌数据库启动集群模式
startup.cmd -p embedded

# 使用 -m standalone 启动单机模式
startup.cmd -m standalone 

2.3 大大坑:使用mysql数据库的集群模式,提示java.net.UnknownHostException

使用mysql数据库启动集群模式,需要将相关的sql脚本在数据库中进行执行
第一步:创建数据库:nacos
第二步:创建相关表,可以执行脚本conf/nacos-mysql.sql,创建相关表以及导入相关数据
第三步:修改配置文件,修改conf/application.properties,将 Config Module Related Configurations 注释的内容释放

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

第四步:执行startup.cmd

问题出现了,在命令窗口中,出现了错误,提示java.net.UnknownHostException: jmenv.tbsite.net

UnknownHostException

解决方法

复制conf/cluster.conf.example 到conf/cluster.conf 设置ip和端口 重启服务

修改代码如下:

#it is ip
#example
127.0.0.1:8847

终于看到成功启动的标识了


集群模式启动成功

三、验证一下

nacos启动成功后,会启用一个web程序,默认端口号为:8848(珠穆拉玛封的高度,还是阿里会找端口号),可以修改conf/application.properties 中的server.port 设定自定义的端口号,直接访问 http://localhost:8848/nacos/

登陆界面

使用用户名:nacos,密码:nacos可登陆系统


节点列表

如果使用单机模式的情况,节点列表中只有一个节点IP,截图中节点为启动集群模式,修改conf/cluster.conf后,启动nacos,节点列表中会出现一个down的节点


Down节点

这是因为该节点没有启动,只需要将nacos文件夹复制一份,修改conf/application.properties的server.port,使用相同方式启动即可。

四、总结

在安装nacos遇到的问题,都可以在度娘中找到答案,由于nacos的不断更新,使用新版本的nacos遇到的问题,最好到nacos的github主页中issue搜索,基本上都可以找到解决办法,如果在度娘和github上都无法找到解决办法,需要我们深入nacos的源码,查看具体原因。

参考文献

  1. Nacos 快速开始
  2. nacos1.3.2 无法启动
  3. Caused by: java.net.UnknownHostException: jmenv.tbsite.net
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容