rocketmq2master模式集群搭建

RocketMQ 是一款分布式、隊列模型的消息中間件,具有以下特點:

  • 能夠保證嚴格的消息順序
  • 提供豐富的消息拉取模式
  • 高效的訂閱者水平擴展能力
  • 實時的消息訂閱機制 億級消息堆積能力
    更多介紹參考github地址:rocketmq

Rocketmq[雙master模式搭建]

一、服務器及環境說明

1.服務器說明

IP 角色 模式
192.168.1.121 rocketmqnameserver1,broker-a Master1
192.168.1.122 rocketmqnameserver2,broker-b Master2

2.系統環境
visualbox 5.1.8 及 centos 6.5

二、Rocketmq安裝與配置

  1. 分別設置兩個虛擬機的靜態IP地址
    # vim /etc/sysconfig/network-scripts/ifcfg-eth0
    QQ圖片20161129223029.png

    然后重新啟動網卡 service network restart
    另外一臺機器也是同樣的設計知識ip地址設置的不一樣
  2. 設置主機名
    以121機器為例
    # vim /etc/hosts 添加如下
    192.168.1.121 rocketmq-nameserver1
    192.168.1.121 rocketmq-nameserver2
    不僅修改hosts文件,還要修改/etc/sysconfig/network,筆者在這里坑了好久
    # vim /etc/sysconfig/network 添加如下
    NETWORKING=yes
    HOSTNAME=rocketmq-nameserver1
    使用source /etc/sysconfig/network命令,使修改立即生效或者注銷系統,新打開終端,看是命令提示符的主機是否已經更新了。注:另一臺機器也是如此操作!
  3. 防火墻設置
    如果是開發環境 # service iptables stop 直接關閉防火墻
    若是生產環境就需要配置防火墻,增加端口規則,默認nameserver端口是9876,筆者直接就關閉防火墻服務
    注:另一臺機器也是如此操作!
  4. JDK安裝設置
    1. jdk-8u111-linux-x64.tar.gz 下載jdk放置/usr/local/software
    2. tar -zxvf jdk-8u111-linux-x64.tar.gz -C . 解壓到當前文件夾
    3. mv jdk-8u111-linux-x64 jdk1.8 重命名
    4. vim /etc/profiles 設置環境變量


      QQ圖片20161129230513.png
    5. source /etc/profile 讓配置生效
      注:另一臺機器也是如此操作!
  5. Rocketmq安裝與配置(以3.2.6為例)
    1. 下載alibaba-rocketmq-3.2.6.tar.gz 放置/usr/local/software
    2. tar -zxvf alibaba-rocketmq-3.2.6.tar.gz -C /usr/local 解壓
    3. ln -s alibaba-rocketmq-3.2.6 rocketmq 建立軟連接
    4. mkdir /usr/local/rocketmq/store 存儲路徑
    5. mkdir /usr/local/rocketmq/store/commitlog commitLog 存儲路徑
    6. mkdir /usr/local/rocketmq/store/consumequeue 消費隊列存儲路徑存儲路徑
    7. mkdir /usr/local/rocketmq/store/index 消息索引存儲路徑
    8. 修改broker的配置文件,注意現在搭建的是2master模式配置文件就在2m-nosalve下
      # vim /usr/local/rocketmq/conf/2m-noslave/broker-a.properties
      QQ圖片20161129231524.png

      這里主要注意的是brokerName以及namesrnName的地址需要與hosts設置的一致
      注:另一臺機器編輯的是 # vim /usr/local/rocketmq/conf/2m-noslave/broker-b.properties文件,brokerName=broker-b
    9. 修改日志配置文件
      # mkdir -p /usr/local/rocketmq/logs
      # cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
      注:另一臺機器也是如此操作!
    10. 修改啟動參數
      因為是開發環境并且是虛擬機,內存沒有那么大,所以需要將他們的參數調小,但是最好不要低于1G。若是生產環境,當然越大越好,默認配置是4G。
      # vim /usr/local/rocketmq/bin/runbroker.sh
      #JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m XX:PermSize=128m -XX:MaxPermSize=320m"
      # vim /usr/local/rocketmq/bin/runserver.sh
      #JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m XX:PermSize=128m -XX:MaxPermSize=320m"
      注:另一臺機器也是如此操作!
    11. 啟動兩臺的namesrv
      # cd /usr/local/rocketmq/bin
      # nohup sh mqnamesrv &
      因為rocketmq是java開發的,所以通過jps命令查看namesrv有沒有啟動,當然通過日志文件也可以,namesrv正常啟動之后,后續再分別啟動Broker
    12. 啟動BrokerServer[192.168.1.121]
      # cd /usr/local/rocketmq/bin
      # nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
      # jps 查看進程
      # tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log
      # tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
    13. 啟動BrokerServer[192.168.1.122]
      # cd /usr/local/rocketmq/bin
      # nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
      # jps 查看進程
      # tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log
      # tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容