在CentOS7上安裝RocketMQ 4.7.1

2020-12-06 51cto

前言

阿里的fastjson的低版本(<=1.2.68)被爆出有安全漏洞,而RocketMQ 4.7.0使用了fastjson 1.2.62,因此需要將RocketMQ升級到 RocketMQ 4.7.1(fastjson 1.2.69)。

本文描述了在CentOS7上安裝RocketMQ 4.7.1的過程,僅作為開發測試環境使用:

  •  單機部署,Name Server和Broker都裝在一臺伺服器上;
  •  調低了RocketMQ默認的JVM大小;
  •  沒有設置開機自啟動和守護進程。

安裝過程

伺服器上已經安裝了OpenJDK 8,並設置了JAVA_HOME 。

下載和解壓RocketMQ

在RocketMQ官網上找到下載RocketMQ 4.7.1的連結,下載和解壓RocketMQ:

  1. # 下載  
  2. wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip  
  3. # 解壓  
  4. unzip rocketmq-all-4.7.1-bin-release.zip  
  5. # 安裝到/usr/local/rocketmq  
  6. mv rocketmq-all-4.7.1-bin-release /usr/local  
  7. ln -s /usr/local/rocketmq-all-4.7.1-bin-release /usr/local/rocketmq 

調低RocketMQ的JVM大小

RocketMQ的默認JVM太大,不適合在開發測試環境中使用,需要調低JVM大小。

在RocketMQ的安裝目錄(本例為/usr/local/rocketmq),查找sh腳本中的JVM參數設置:

  1. find . -name '*.sh' | xargs egrep 'Xms' 

需要修改以下sh腳本的JVM參數:

  1. bin/runserver.sh  
  2. bin/runbroker.sh  
  3. bin/tools.sh 

修改前記得先備份相應腳本,具體JVM大小根據實際情況設定。

- bin/runserver.sh

修改前:

  1. JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 

修改後:

  1. JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 

- bin/runserver.sh

修改前:

  1. JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 

修改後:

  1. JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 

- bin/tools.sh修改前:

  1. JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m" 

修改後:

  1. JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m" 

啟動Name Server

  1. # 後臺啟動  
  2. nohup sh bin/mqnamesrv >/dev/null 2>&1 & 

Name Server的默認埠為9876,運行sh bin/mqnamesrv -p可查看Name Server的配置項,並可通過-c namesrv.conf方式指定配置文件啟動;

RocketMQ的默認日誌路徑為`~/logs/rocketmqlogs/``;

可以將啟動Name Server命令保存為腳本,以方便下次啟動。

啟動Broker

啟動Broker時需要指定要連接的Name Server:

  1. # 後臺啟動  
  2. nohup sh bin/mqbroker -n localhost:9876 >/dev/null 2>&1 & 

可以將啟動Broker命令保存為腳本,以方便下次啟動。

查看RocketMQ進程

  1. ps -ef | grep -v grep | grep rocketmq 

測試RocketMQ

測試發送消息和接收消息

使用RocketMQ自帶的消息生產者和消費者示例來測試發送消息和接收消息:

  1. export NAMESRV_ADDR=localhost:9876  
  2. sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer  
  3. sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer 

關閉RocketMQ

關閉Broker

  1. sh bin/mqshutdown broker 

可以將關閉Broker命令保存為腳本,以方便下次關閉。

關閉Name Server

  1. sh bin/mqshutdown namesrv 

關閉Name Server前需要先關閉Broker;

可以將關閉Name Server命令保存為腳本,以方便下次關閉。

修改Name Server的埠

RocketMQ Name Server的默認埠為9876,可以通過以下方法修改Name Server的埠:

  1.  新增一個Name Server配置文件namesrv.conf,保存內容為: 

  1. listenPort=10076 

    2.  啟動Name Server時指定配置文件:

  1. nohup sh bin/mqnamesrv -c namesrv.conf >/dev/null 2>&1 & 

    3.  查看RocketMQ進程:

  1. ps -ef | grep rocketmq 

    4.  查看RocketMQ Name Server的埠號:

  1. netstat -tnlp | grep <nameserver_pid> 

    5.  修改後Broker需要指定新的Name Server地址(埠)。

安裝RocketMQ控制臺

克隆rocketmq-externals 項目,並編譯rocketmq-console。

命令示例:

  1. git clone https://github.com/apache/rocketmq-externals.git  
  2. cd rocketmq-externals/rocketmq-console  
  3. mvn clean package -Dmaven.test.skip=true 

將target/rocketmq-console-ng*.jar放到和RocketMQ安裝目錄(本例為/usr/local/rocketmq)下。

在RocketMQ安裝目錄下新建一個啟動RocketMQ控制臺的腳本來啟動RocketMQ控制臺:

  1. nohup java -jar rocketmq-console-ng*.jar --server.port=8080 --rocketmq.config.namesrvAddr=localhost:9876 > /dev/null 2>&1 & 

默認RocketMQ控制臺不需要密碼登錄,請參考RocketMQ使用文檔 進行配置。

參見:

Troubleshooting

問題1: 啟動Name Server和Broker,或測試時報錯Please set the JAVA_HOME variable in your environment, We need java(x64)!但是系統已經安裝了OpenJDK8,並且已經設置了JAVA_HOME。

解決方法: 運行which java來查看java的路徑,比如為/usr/bin/java。

修改bin/runserver.sh和bin/runbroker.sh和bin/tools.sh,注釋掉校驗JAVA_HOME語句,並明確指定JAVA路徑:

  1. #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java  
  2. #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java  
  3. #[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"  
  4. #export JAVA_HOME  
  5. export JAVA="/usr/bin/java"  

【編輯推薦】

【責任編輯:

龐桂玉

TEL:(010)68476606】

點讚 0

相關焦點

  • Centos7筆記之ELK的filebeat安裝
    一、目標centos7平臺下安裝elasticsearch後再安裝filebeat二、平臺[root@xserver ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)[root
  • Apache RocketMQ 4.4.0 發布
    萬眾期待的 4.4.0 版本終於在昨天成功發布,值得關注的新特性包括權限控制(ACL)和消息軌跡(Msg Trace)。下面大家解讀該版本引入的這兩大特性。
  • Apache RocketMQ 4.8.0 發布,升級 DLedger 模式
    據介紹,DLedger 是 OpenMessaging 中一個基於 Raft 的 CommitLog 存儲庫實現,從 RocketMQ 4.5.0 版本開始,RocketMQ 引入 DLedger 模式解決了 Broker 組內自動故障轉移的問題,而在 4.8.0 版本中,社區對 RocketMQ DLedger 模式進行了全面升級。以下內容摘錄自發布公告。
  • 史上最簡單的VASP安裝教程-非虛擬機
    本文是針對vasp初學者的安裝教程編譯器以及VASP都已編譯號直接解壓到系統中即可用,故不用配置其它的庫文件以及環境;本教程適用於任意平臺安裝centos7的伺服器以及pc機(若在其它linux發行版本中安裝請諮詢小編)。
  • centos7 - 開機啟動腳本不執行了?
    前言在centos7之前,都習慣將自己的程序啟動命令添加到/etc/rc.local,可是到centos7上面發現不生效了。難道不兼容了?系統默認應該是裝了systemd-sysvcompat來兼容sysv的服務的。
  • VASP5.4.1及+VTST編譯安裝
    官網:https://www.vasp.atVTST是VASP的過渡態工具,下載地址:http://theory.cm.utexas.edu/vtsttools/index.htmlVASP及VTST安裝均無需root權限,普通用戶在自己的目錄下也可以安裝使用
  • MathType7.4中文激活版安裝下載,親測可用
    1軟體介紹mathtype是一款數學公式編輯工具軟體,該軟體被廣泛運用在教育教學、科研機構、工程學、論文寫作、期刊排版、編輯數學試卷、書籍報刊、論文、幻燈演示等多個領域,是一款編輯數學資料得力的教學輔助工具。
  • Graphpad Prism 7安裝教程
    Graphpad Prism 7(32位)官方版本  2、註冊機  連結:https://pan.baidu.com/s/1AWpsvcS4PC0lbcNzBdbMxg   提取碼:tqu2    軟體介紹   Graphpad Prism又稱稜鏡,是由Graphpad公司推出的一款超級好用的醫學繪圖軟體,集生物統計
  • Linux安裝軟體的7種方式
    Linux的發行版本眾多,各類軟體的也比較多,但是要用什麼方法去安裝自己所需要的軟體呢?下來從開始來給大家簡單的講解一下。1、rpm軟體包的安裝方式及步驟(1)找到自己所需版本的軟體包(例:軟體包名稱為chengxuyuan.rpm),並下載或者拷貝到自己制定的目錄。
  • 「吃雞」4.9不停服更新,安裝包大小約為1.7M,優化修復3個內容!
    話題:「吃雞」4.9不停服更新,安裝包大小約為1.7M,優化修復3個內容!本期所介紹的內容,自然是和沙漠地圖有關了。《和平精英》在4.9發布了臨時更新公告,這次更新為不停服更新,安裝包的大小約為1.7M。在這次的更新中,一共優化修復了3個內容:一、沙漠2.0地圖,部分木箱浮空的問題。這個問題,刺激哥倒是沒遇到過,很好奇木箱浮空是什麼樣子。
  • Quartus II 9.1安裝教程
    連結:https://pan.baidu.com/s/1q1hkfRXZxLdf4EwjDTX5qw提取碼:dy4q
  • 【安裝教程】TEM&SEM分析軟體Digital Micrograph 3.4安裝教程
    Digital Micrograph是一款電子顯微鏡輔助軟體,主要用於透射電鏡的數據採集和分析;在生物醫學領域,電子顯微鏡(電鏡)的應用是非常廣泛的,它比常規光學顯微鏡在放大倍數和清晰度上增強了1萬倍以上,是現代醫學必不可少的工具;有了電子顯微鏡,必須要有相關的軟體搭配,今天小編帶來的DigitalMicrograph就是其中之一,這款由Gatan公司開發的軟體,支持圖像採集、圖像處理和數據分析
  • 第1講變頻器的安裝及接線
    1 變頻器原理框圖及接線1.1 主要規格和參數變頻器的規格和主要技術參數可參考說明書,從中主要了解:1)是恆轉矩或是平方轉矩變頻器;2)採用的電力半導體器件是什麼;3)PWM控制方式是什麼,是SPWM、SVPWM、還是轉矩矢量控制等;4)是單片機控制還是模擬控制,以及單片機的型號和位數;5
  • Centos7.9安裝Mariadb資料庫
    系統環境:Centos7.9 [root@localhost /]# cat /etc/redhat-release CentOS Linux
  • ENVI 5.1軟體安裝教程
    ENVI 5.1下載地址:點擊文章底部的閱讀原文+密碼: f8rqENVI(The Environment for
  • win98 ghost怎麼安裝在U盤上?安裝步驟
    win98ghost98 純淨版是微軟的一款非常不錯的經典的作業系統,相信每個人第一次接觸電腦幾乎都遇到過這樣的一個系統,經典形象幾乎無法阻擋,這款系統是一個基於Windows NT內核的消費桌面作業系統改進在1.0的基礎上:1,將usb 98標準驅動和8139網卡驅動直接集成在
  • 日產20-21款軒逸 -前4後4安裝方法
    安裝注意事項:1.請在安裝前務必先接好產品,接通好之後看一下原車導航屏是否可以顯示雷達信號
  • ArcGIS 10.4安裝、配置、發布及使用
    一、ArcGIS下載安裝1、安裝包下載及目錄介紹百度雲盤下載地址https://pan.baidu.com/s/1dFiz5Vb密碼:cuah2、首先安裝License Manager,安裝完成後,關閉服務,將ARCGIS.exe和service.txt