下載解壓之類的請移步
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可能存在的地址。
因為不是專業的,所以對腳本不是很理解,有錯的地方還請見諒。
有大神知道的話,麻煩指導下,感激不盡。
希望可以幫到您!!!
