1. 程式人生 > >centos7安裝單機rocketmq,圖文教程

centos7安裝單機rocketmq,圖文教程

系統環境

1、作業系統:64位CentOS Linux release 7.2.1511 (Core)

2、jdk版本:1.8.0_121

3、IP地址:192.168.1.210

下載rocketmq

訪問網址:http://rocketmq.apache.org/docs/quick-start/,如下圖:

我們下載編譯好的,這樣無需自己再編譯了,省去很多時間。點選上圖紅色框的連結。

然後就進入網址:http://rocketmq.apache.org/release_notes/release-notes-4.3.2/。下載Binary版本的rocketmq,如下圖:

我寫這篇筆記的時候,最新版本為 rocketmq-all-4.3.2,我們選擇編譯好的zip包,即上圖中紅色框框標記的。

點選後進入真正的下載頁面:

隨便選擇一個即可,進行下載。

拷貝到centos系統

建立/soft目錄

[[email protected] ~]# mkdir /soft

將在windows系統下載好的zip包利用WinSCP工具拷貝到centos系統的/soft目錄

解壓rocketmq

[[email protected] data]# cd /soft

解壓

[[email protected] soft]# unzip rocketmq-all-4.3.2-bin-release.zip

移動

[[email protected] soft]# mv rocketmq-all-4.3.2-bin-release /usr/local/rocketmq

設定rocketmq的環境變數

編輯profile檔案

[[email protected] rocket]# vi /etc/profile

將下面的配置新增到檔案最底部

export PATH=$PATH:/usr/local/rocketmq/bin

export NAMESRV_ADDR=localhost:9876

儲存,並退出。

更新profile檔案

[[email protected] rocket]# source /etc/profile

說明:export NAMESRV_ADDR=localhost:9876是NAMESRV_ADDR環境變數

啟動Name Server

[[email protected] rocket]# mqnamesrv &

啟動Broker

[[email protected] ~]# mqbroker -n localhost:9876 &

會遇到如下問題:

[1] 3361

[[email protected] ~]# Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)

#

# There is insufficient memory for the Java Runtime Environment to continue.

# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.

# An error report file with more information is saved as:

# /root/hs_err_pid3368.log

原因是:bin/ 下的服務啟動指令碼 runserver.sh 、runbroker.sh 中對於記憶體的限制

解決辦法:

[[email protected] ~]# cd /usr/local/rocketmq/bin/

[[email protected] bin]# vi runserver.sh

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

改成如下:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"

 

[[email protected] bin]# vi runbroker.sh

將JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"

改成JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"

 

再次啟動

[[email protected] bin]# mqbroker -n localhost:9876 &

會提示:

[[email protected] bin]# The broker[localhost.localdomain, 192.168.1.210:10911] boot success. serializeType=JSON and name server is localhost:9876

表示啟動成功

關閉防火牆

[[email protected] bin]# systemctl stop firewalld.service

[[email protected] bin]# systemctl disable firewalld.service               //關閉開機啟動

關閉Name Server和Broker

[[email protected] bin]# mqshutdown broker

[[email protected] bin]# mqshutdown namesrv

 

示例就不提供了,可參考官網Demo:http://rocketmq.apache.org/docs/simple-example/