配置了单机启动(standalone),也配置了数据库,但是Nacos依然启动失败

这篇具有很好参考价值的文章主要介绍了配置了单机启动(standalone),也配置了数据库,但是Nacos依然启动失败。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题发现:

在今天学习Nacos时,我下载安装解压好了Nacos包,我下载的是目前(2023.3.27)的最新版本的 Nacos 2.2.1,但是在启动时,不管是用官方的命令"startup.cmd -m standalone",还是直接双击"startup.cmd"都是会闪退,自然启动也是失败的。

解决窗口闪退问题:

然后我查找了资料,发现需要在"startup.cmd"的最后加上:

pause
endlocal

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

这样窗口就不会闪退了。

查看异常信息:

窗口闪退问题解决后,就可以看见完整的异常信息了,我的报错信息很长,大概有六七段error,只能从头开始看,第一段错误是(很长,我只把重点的以代码形式打出来):

 ERROR Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException.

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

解决步骤:

1.配置standalone:

 当然我自己也是看不明白,但是字面意思是Tomcat启动出问题了,只能去搜索"Unable to start embedded Tomcat",于是出现了以下结果:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 大致意思就是说:Nacos默认启动方式为集群启动,但是我们个人只有一台主机,所以应该选择单机启动模式,所以需要重新配置。具体可参考文章:http://t.csdn.cn/uDVW7,这位博主还说了第二种错误:"Failed to create database ‘/data/soft/nacos/data/derby-data’",但是我没有遇到,所以这里就不细说了,需要的可以去看看上面的链接中的文章。

修改前:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

修改后:

 the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 到这启动模式已经修改好了,但是启动报错一项没减少,很烦。

2.配置数据库(个人觉得可以不修改,但是还是写出来给大家参考参考):

接着我看到了第二个答案:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 意思是配置文件/conf中有数据库文件,所以出错的原因可能是因为Nacos启动时需要对应的数据库环境,可以参考文章:http://t.csdn.cn/NfXbj和http://t.csdn.cn/b0rYp,第二篇文章写的更详细点,可以参考,但是我的包和他给的包不太一样:

他给的:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

我的: 

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

下面给出我的步骤:

打开Navicat;新建一个数据库(名字我不知道可不可以随便起,因为有的回答是随便新建一个数据库,但是上面这位博主起了"Nacos",那我也就用了"Nacos",毕竟看起来比较专业);然后运行mysql-schema.sql,虽然运行的文件名和上面这位博主的不同,但是我看了建出来的表是一样的;修改conf/application配置文件:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 圈起来这部分修改为自己数据库的用户名和密码。

结束,但是报错依然没有减少。

3.检查端口有没有被占用:

很苦恼,因为我找的很多资料里都只有上面两种回答,我就想那我这问题可能是一个小众问题了,那会不会是我的电脑8848(Nacos默认端口)端口被占用了,于是我就检查了我的端口使用情况:

打开cmd->输入netstat -ano命令->查找端口号,本地地址ip后方冒号之后的就是端口号(下面圈出来的部分):

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

如果想查找特定端口号,可以使用netstat -ano | findstr "端口号"的命令,很遗憾,经过我仔细查看后,发现端口也并没有被占用。

4.正解:修改配置文件中Key值:

因为我是看黑马2021年的springcloud视频学习的,他们用的Nacos版本还为1.x,我觉得可能是新版本的一些问题,所以我就打算放弃用最新版本,改用配套资料里的1.x版本了,但是在我准备关闭cmd黑窗口时,我看见了最后的一个错误提示:

Caused by: java.lang.IllegalArgumentException: The specified key byte array is 0 bits which is not secure enough for any JWT HMAC-SHA algorithm.  The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HMAC-SHA algorithms MUST have a size >= 256 bits (the key size must be greater than or equal to the hash output size).  See https://tools.ietf.org/html/rfc7518#section-3.2 for more information.
        at com.alibaba.nacos.plugin.auth.impl.jwt.NacosJwtParser.<init>(NacosJwtParser.java:56)
        at com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager.processProperties(JwtTokenManager.java:71)
        ... 115 common frames omitted

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

我抱着试一试的态度搜索了这个错误,然后看到了下面的回答: 

 

 意思就是:新版(2.x后)Nacos配置文件中的用于生成JWT令牌的密钥默认为空值,需要自己去conf/application文件中设置,可以设置为官方给的默认值:SecretKey012345678901234567890123456789012345678901234567890123456789,也可以自己去设置,自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符,可以参考文章:http://t.csdn.cn/cdtH8。我去看了官方文档,官方文档是这么说的:

修改conf目录下的application.properties文件。

设置其中的nacos.core.auth.plugin.nacos.token.secret.key值,详情可查看鉴权-自定义密钥.

注意,文档中的默认值SecretKey012345678901234567890123456789012345678901234567890123456789VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=为公开默认值,可用于临时测试,实际使用时请务必更换为自定义的其他有效值。

官方是强烈建议自定义密钥的,但是实际用上面的默认值也可以,我用默认值给大家看下修改的地方,其实就是conf目录下的application.properties文件:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 修改完后,双击"startup.cmd",终于可以正常启动了:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 按住Ctrl点击上面画圈的网址,也可以正常跳转到Nacos配置管理页面:

the specified key byte array is 0 bits which is not secure enough for any jw,java,spring,springcloud

 我是登录过的,第一次跳转成功是跳转到登陆页面,默认用户名和密码均为:"nacos",登录即可到达上面这个页面。

总结:

其实这次的这个问题仔细看看官方文档是可以很快解决的,但是呢,我一直没有看官方文档的习惯,所以这次花了很多时间,算是给我长了记性了。

我觉得其实数据库那个配置是可以不用更改的,总结一下吧,对于配置了单机启动()也配置了数据库,但是Nacos依然启动失败问题,检查下你是否配置了conf目录下的application.properties文件,设置其中的nacos.core.auth.plugin.nacos.token.secret.key值。如果这篇文章还是不能解决你的问题,记得去读读官方文档:Nacos 快速开始。文章来源地址https://www.toymoban.com/news/detail-768491.html

到了这里,关于配置了单机启动(standalone),也配置了数据库,但是Nacos依然启动失败的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle 12c/19c PDB数据库配置自动启动

    在Oracle 12c/19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。如下例子所示: Oracle 12.1.0.2之前,CDB启动后,所有的PDB都处于加载状态(MOUNTED)。CDB启动时,没有默认机制自动启动PDB。只能通过在

    2024年02月07日
    浏览(57)
  • openstack详解(二十三)——Neutron其他配置、数据库初始化与服务启动

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Neutron其他配置、数据库初始化与服务启动。 在上文openstack详解(二十二)——Neutron插件配置中,我们完成了Neutron插件的配置,今天,我们来进行Neutron的元数据代理配置、数据库初始化以及服务启动。 打开Neutron的元数

    2024年02月10日
    浏览(57)
  • python+django迁移数据库成功但是数据库中还没表产生

    1、删除原来的文件(我这没了,反正就是之前执行下面两条命令生成的文件) 2、检查settings.py中DATABASES参数,首先是数据库的信息对不对。我这里是因为ENGINE=“django.db.backends.sqlite3” 因为我使用的数据库是mysql,所以修改成“django.db.backends.mysql”就好了,就这搞了一天,真

    2024年02月11日
    浏览(67)
  • POSTGRESQL 关于2023-08-14 数据库自动启动文章中使用KILL 来进行配置RELOAD的问题解释...

    开头还是介绍一下群,如果感兴趣Polardb ,mongodb ,MySQL ,Postgresql ,redis ,SQL SERVER ,ORACLE,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群(共1170人左右 1 + 2 + 3) 首先道歉,昨天关于P

    2024年02月12日
    浏览(49)
  • 瀚高企业版数据库V6单机安装指导手册(Linux)

    目录 瀚高企业版数据库V6单机安装指导手册(Linux) 1. 环境准备 1.1 防火墙设置 1.1.1 开放数据库使用端口 1.1.2 关闭防火墙 1.2 检查时区和时间 1.3 创建highgo用户 1.4 检验安装包 2. 软件安装 2.1 图形化安装 3. 设置highgo用户环境变量 4. 数据库配置 4.1 配置数据库参数 4.2  配置数据

    2024年02月16日
    浏览(56)
  • 瀚高数据库 docker 容器单机运行(安全版v4.5.9)

    瀚高数据库 docker 容器单机运行 鉴于有些高端客户需要容器运行瀚高数据库,本文主要针对这些用户说明一下瀚高数据库镜像的操作。 文档所使用的docker版本是 18.03.0 。 已拿到docker镜像包 459.tar ,如有需要可以拨打热线电话 400-708-8006 。 注意: 容器内已经初始化好数据库实

    2024年01月16日
    浏览(54)
  • K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发

    rocketmq 3.0.2 · sir5kong/rocketmq helm repo add rocketmq https://helm-charts.itboon.top/rocketmq helm pull rocketmq/rocketmq tar -xvf rocketmq-3.0.2.tgz 修改这个无效 /root/rocketmq/rocketmq/templates/broker/configmap.yaml 文件头有注释 {{/* 3.0 废弃 */}} 修改外网配置namesrvAddr、brokerIP1、listenPort vi /root/rocketmq/rocketmq/template

    2024年02月03日
    浏览(58)
  • Docker Compose安装milvus向量数据库单机版-milvus基本操作

    以管理员身份运行powershell Ubuntu 22.04 LTS可以不装,wsl必须更新。。。 如果 操作超时 ,可以试试开代理。 重启电脑。。。 设置用户名、密码 https://hub.docker.com/ 重启电脑。。。 power shell输入以下命令,下载yaml文件到指定目录,并重命名为docker-compose.yml 或者 点击一下链接直接

    2024年01月19日
    浏览(58)
  • 【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目

    实验室电脑,需要跑一个前后端分离的JAVA项目,于是开始重新配置 全部(数据库+后端+前端)配置环境+修改代码 耗时6h,包括遇到各种坑,但总体而言弯路走的不多 如果跟着这篇博客走,理论上会避开我遇到的那些坑hh 在当今快速发展的技术世界中,Java仍然是最受欢迎和广

    2024年02月05日
    浏览(41)
  • 使用Ruoyi的方法(数据库的创建、YML文件的修改、前端的导入和启动、云服务器简介、NGINX配置部署前端)

    本文章转载于公众号:王清江唷,仅用于学习和讨论,如有侵权请联系 QQ交流群:298405437 本人QQ:4206359 当我们下载好了Ruoyi-Vue之后,我们得到一个文件夹,如下: 内部又有若干文件,如下: 这里面不仅包括了后端程序(基于SpringBoot的Java程序),也包括前端程序(基于Vue的程

    2024年02月03日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包