nacos部署报错(各种奇葩超级坑啊)及openjdk设置JAVA_HOME

这篇博客分享了在启动Nacos过程中遇到的两个主要问题及解决方案:一是JAVA_HOME环境变量未正确设置,特别是对于OpenJDK用户;二是日志文件权限问题导致的启动失败。通过设置JAVA_HOME,修改文件权限,以及检查和解决端口冲突,成功启动并访问Nacos注册中心。
摘要由CSDN通过智能技术生成
今天算是把nacos的奇葩坑踩了个遍,做个归总吧,留个下一个被折磨的幸运儿

首先,如果你用

sh ./startup.sh 出现错误,那么请先尝试:
sh ./startup.sh -m standalon(设置单机模式,nacos默认集群模式)
若仍然报错,请尝试:
bash -f  ./startup -sh -m standalon

如果经过上面跑通了,nacos注册中心也能正常访问,恭喜你。没跑通的倒霉蛋就往下看看吧。

今天踩的这几个坑吧,奇葩,网上已经发布过的那些常见坑一个都没遇到,呜呜呜
坑点1:当你使用的是openjdk而不是jdk

当进入/nacos/bin进行启动时,如出现:
在这里插入图片描述
最后一行:
ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!
这里是讲你的JAVA_HOME路径没有设置对,或者你的jdk版本不对,如果你用的是jdk的话,网上可以很轻松的查到设置流程、方法。如果是openjdk的话,就继续看吧!

随着java的发展,openjdk的使用越来越普遍,其与jdk还是有不少差别,比如版本10以上的openjdk是没有jre的,那么你只能设置JAVA_HOME,就不要想着去按格式copy别人的那一套了。

export JAVA_HOME=***

当然,如果你仍然需要jre的话,应当也是有解决办法的:
(摘自其他)

在java根目录下执行:
sudo bin/jlink --module-path jmods --add-modules java.desktop --output jre 
生成对应的JRE

言归正传,大部分情况下只设置JAVA_HOME足够了
下面是确定路径的过程

which java

一般情况下你会得到输出:/usr/bin/java
继续:

ls -lrt /usr/bin/java

得到输出:/usr/bin/java -> /etc/alternatives/java
继续

ls -lrt /etc/alternatives/java

得到输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
这个时候我们已经得到了java的安装路径:

/usr/lib/jvm/java-11-openjdk-amd64

如图
那么,终端vim /etc/profile
在文件底部插入

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
保存退出后在当前终端:
source /etc/profile 使设置生效

最后再次启动nacos,查看问题是否解决,如果得到解决,恭喜你!!!

坑点2:

看似启动成功,但出现了
/nacos/logs/start.out: Permission denied
在这里插入图片描述
Permission denied,即权限问题,你的启动日志不能运行,这一点在实际情况中可能并不影响nacos的各种操作,但是以防万一,以及为了你以后的工作中遇到问题便于解决,还是改了吧
解决如下:

1.第一点想到的当然是加个sudo,操作后果然出错:

仔细想想的话,加个sudo当然不会成功,sudo仅对你当前的操作提升权限,而在执行.sh后之后进程仍是以用户身份进行。
但是同时我们也能看到在普通权限下,我们不能访问的仅有一个文件,即start.out
在这里插入图片描述
那么,改权限呗!
进入logs文件夹,ls -l查看,果然,这里文件所有者均为root,这种情况下一般默认我们普通用户不可操作该文件
在这里插入图片描述
那么:sudo chmod 777 start.out
(我这里直接将整个logs目录的权限更改了:sudo chmod 777 -R logs
我是懒,怕生幺蛾子,你尝试一下如果只对start.out更改后可成功运行nacos,那么就不要改整个logs目录啦)
这里更改完成后进行测试:

bash -f  ./startup -sh -m standalon

在这里插入图片描述
好的!很精神!!我们成功了。哈哈哈,开个玩笑,有些时候这里只是看起来成功了哈哈哈
如果你访问127.0.0.1:8848成功,那么你可以走啦,没有的话接着往下看吧

3.又是一个坑:nacos启动后无法访问注册中心!!!

图我忘记截屏了:
页面大概输出就是这样的信息:

 Firefox can't establish a connection to the server at ip:port

首先,这情况的话查看你的防火墙是否关闭,没有关闭的关一下,然后再次测试,当然,,,这玩意一般是默认关闭的
那么接下里查一查端口吧
我们知道,nacos默认使用8848端口,那么考虑一下是否端口冲突了,冲突的话你换个端口就行了
修改默认端口的话,在nacos文件夹中:vim /conf/application.properties进行修改

sudo netstet -anp|grep 8848

在这里插入图片描述
如图,8848端口根本就没开,,,晕了啊,服务不是启动了吗,难受
这时候咋个办嘞,su切入root执行nacos启动!!!
进入root目录下与用户目录下使用sudo执行命令时还是有很多不同的,要我解释的话也不太能叙述整套完备的逻辑,目前还在继续探索中
权限的问题很奇妙,我单纯的想象为:在对某个文件进行简单修改如执行vi/vim时这两种情况并无太多不同,但是当你执行如脚本文件之类的时候,还会引发对一系列文件的操作,这时对其他文件的我们可能并没有权限去调用执行,这种情况下sudo并不如我们之间进入root来执行舒服的多。

直接看执行结果吧:
在这里插入图片描述

首先,source /etc/profile一下,将修改的环境变量也应用到root中,不然要出错的
然后启动nacos,我们看到nacos成功启动
最关键一步:看看端口起来了没?!!!!
在这里插入图片描述
这里我搞错了,应该用netset来查端口状态,然后我中间换了个端口8849

好嘛,赶紧访问127.0.0.1:8849看看

好嘛、http404.。。。。。
在这里插入图片描述
刚开始给我吓一跳,咋又出幺蛾子啦,后来查了一下虚惊一场
端口后加个/nacos试试!
在这里插入图片描述
成功!!十分精神!
最后查一下端口情况:
在这里插入图片描述
一切正常!圆满完成。

一些常见的出错我这里没写了,一般都可以在网上查到!
累死我了,各位看官如果也遇到了一些奇葩的棘手的问题,欢迎发布到评论区,大家一起讨论!

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛涛ALG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值