hosts新增資訊
192。168。101。133 rocketmq-nameserver1 192。168。101。133 rocketmq-master1192。168。101。134 rocketmq-nameserver2192。168。101。134 rocketmq-master2
nameserver可以寫死在配置檔案中
下載rocketmq安裝包到 /usr/local目錄
Apache官網可以下載到原始碼和二進位制包。 解壓縮rocketmy二進位制包 ```
yum install zip unzipunzip rocketmq-all-4。4。0-bin-release。zip ```## 建立rocketmq儲存檔案目錄/usr/local/rocketmq-all-4。4。0-bin-release/store/usr/local/rocketmq-all-4。4。0-bin-release/store/commitlog/usr/local/rocketmq-all-4。4。0-bin-release/store/consumequeue/usr/local/rocketmq-all-4。4。0-bin-release/store/index
RocketMQ配置檔案修改
vim /usr/local/rocketmq-all-4。4。0-bin-release/conf/2m-noslave/broker-a。propertiesvim /usr/local/rocketmq-all-4。4。0-bin-release/conf/2m-noslave/broker-b。properties
配置資訊參考如下:
brokerClusterName=DefaultClusterbrokerName=broker-blistenPort=10911#vmware 這裡要寫固定的ip地址 不然 會報 10909錯brokerIP1=192。168。101。133brokerIP2=rocketmq-master1namesrvAddr=rocketmq-nameserver1:9876brokerId=0deleteWhen=04fileReservedTime=48brokerRole=ASYNC_MASTERflushDiskType=ASYNC_FLUSHautoCreateTopicEnable=truestorePathRootDir=/usr/local/rocketmq-all-4。4。0-bin-release/storestorePathCommitLog=/usr/local/rocketmq-all-4。4。0-bin-release/store/ommitlogstorePathIndex=/usr/local/rocketmq-all-4。4。0-bin-release/store/indexstorePathConsumeQueue=/usr/local/rocketmq-all-4。4。0-bin-release/store/consumequeuemapedFileSizeCommitLog=1073741824mapedFileSizeConsumeQueue=50000000shDiskType=ASYNC_FLUSH
brokerid=0 表示主,其他為從
修改日誌配置檔案【兩臺機器】
/usr/local/rocketmq-all-4。4。0-bin-release 下面建立 logs目錄cd /usr/local/rocketmq-all-4。4。0-bin-release/conf && sed -i ‘s#${user。home}#/usr/local/rocketmqe#g’ *。xml
修改啟動指令碼引數【兩臺機器】
修改 vim /usr/local/rocketmq-all-4。4。0-bin-release/bin/runbroker。sh檔案
JAVA_OPT=“${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m”
啟動NameServer【兩臺機器】
進入:/usr/local/rocketmq-all-4。4。0-bin-release/bin
nohup sh mqnamesrv &
測試,檢視程序 jps
[root@rocketmq-nameserver1 bin]# jps 8072 Jps 5178 NamesrvStartup [1]+ Exit 255 nohup sh mqnamesrv
啟動BrokerServer A 和B
bin 目錄執行下面的語句:
A執行下面的語句:nohup sh mqbroker -c /usr/local/rocketmq-all-4。4。0-bin-release/conf/2m-noslave/broker-a。properties >/dev/null 2>&1 &B執行下面的語句:nohup sh mqbroker -c /usr/local/rocketmq-all-4。4。0-bin-release/conf/2m-noslave/broker-b。properties >/dev/null 2>&1 &
資料檔案清理
cd /usr/local/rocketmq/bin sh mqshutdown broker sh mqshutdown namesrv ——等待停止 rm -rf /usr/local/rocketmq/store mkdir /usr/local/rocketmq/store mkdir /usr/local/rocketmq/store/commitlog mkdir /usr/local/rocketmq/store/consumequeuemkdir /usr/local/rocketmq/store/index ——按照上面步驟重啟NameServer與BrokerServer
到此環境搭建完畢!
其他補充
1、注意vmware要關閉防火牆 ,命令如下:
systemctl stop firewalld。service
2、先啟動nameserver,在啟動Broker,透過jps 或者檢視日誌看是否成功
測試程式碼
public class Product { public static void main(String[] args) throws Exception{ //預設的 mqproducer DefaultMQProducer producer = new DefaultMQProducer(“producer”); //生產者組名 producer。setNamesrvAddr(“192。168。101。133:9876;192。168。101。134:9876”); //nameserver 地址 + 埠 //producer。setVipChannelEnabled(false); producer。start(); //開啟producer for (int i=0;i<500;i++){ Message msg = new Message(“TopicTst”,“tag1”, “hello message”。getBytes(RemotingHelper。DEFAULT_CHARSET)); SendResult sendResult = producer。send(msg); System。out。println(sendResult); } producer。shutdown(); }}
Maven 加入rocketmq的相關外掛