Linux下RocketMQ安裝踩坑


下載解壓之類的請移步

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可能存在的地址。

因為不是專業的,所以對腳本不是很理解,有錯的地方還請見諒。

有大神知道的話,麻煩指導下,感激不盡。

希望可以幫到您!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM