下载解压之类的请移步
1、mqnamesrv启动时,执行nohup sh bin/mqnamesrv &命令提示nohup: ignoring input and appending output to ‘nohup.out’
经过查询是nohup.out无写入权限
解决方案:使用Linux重定向解决nohup.out无写权限问题
例如:nohup sh bin/mqnamesrv > /dev/null 2>&1
不解决也可以照常启动,虽然执行时会提示无写权限,但是命令执行后依然可以从nohup.out看到打印的日志。
2、mqnamesrv启动时,从nohup.out看到打印报错日志ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
查看启动脚本runserver.sh发现:
下载了几个版本,这里的配置都不太一样(我用的是4.4.0)。
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
[ ! -e "$JAVA_HOME/bin/java" ] 判断是否存在/bin/java后打印了报错信息,不知道为什么这么写(我的idk1.8以上)
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java不知道为什么判断存在后,修改了Javahome的路径
解决方案:
1、第二行修改javahome地址时改成自己jdk的地址(第一行修改成当前用户的路径了,我的jdk也没在这个路径,因为一、二行的判断一样就直接从第二行改了)
2、第三行也会进入判断(看返回的日志,是想要判断javahome有没有配置,但是配置了之后也打印了日志),所以直接注释掉了
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/java/jdk1.8.0_191
#[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
改成这样后启动成功了(runbroker.sh也有同样的问题)
nohup.out 日志
ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !! 提示没有配置是Javahome
/home/*****/develop/rocketmq-all-4.4.0-bin-release/bin/runserver.sh: line 49: /home/*****/jdk/java/bin/java: No such file or directory 注释掉2、3行后发现javahome的路径被改成当前用户的一个jdk路径(我的jdk没在这里)
/home/*****/develop/rocketmq-all-4.4.0-bin-release/bin/runserver.sh: line 49: /usr/java/bin/java: No such file or directory注释掉3行后发现javahome的路径也被修改(索性直接自己修改Java home的路径)
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON
sh: mqbroker: No such file or directory修改后启动成功
The broker[localhost.localdomain, 172.17.0.1:10911] boot success. serializeType=JSON and name server is localhost:9876(同样修改runbroker.sh后启动成功)
有可能真的它没找到我的javahome,所以在帮我找jdk可能存在的地址。
因为不是专业的,所以对脚本不是很理解,有错的地方还请见谅。
有大神知道的话,麻烦指导下,感激不尽。
希望可以帮到您!!!