1. 程式人生 > 實用技巧 >RocketMQ部署文件

RocketMQ部署文件

1、整體規劃

IP HOSTNAME 使用者 角色 模式
137.32.117.11 rocketmq-master1 root nameServer1,brokerServer1 Master1
137.32.117.12 rocketmq-master2 root nameServer1,brokerServer2 Master2
/etc/hosts主機對映
137.32.117.11 rocketmq-nameserver1
137.32.117.11 rocketmq-master1
137.32.117.12 rocketmq-nameserver2
137.32.117.12 rocketmq-master2

2、環境準備

  • 修改hosts檔案新增主機對映

    root@localhost ~]# vi /etc/hosts
    137.32.117.11 rocketmq-nameserver1
    137.32.117.11 rocketmq-master1
    137.32.117.12 rocketmq-nameserver2
    137.32.117.12 rocketmq-master2
    
  • ping對映名稱驗證是否更改成功

    [root@localhost ~]# ping rocketmq-master2
    PING rocketmq-master2 (137.32.117.12) 56(84) bytes of data.
    64 bytes from rocketmq-nameserver2 (137.32.117.12): icmp_seq=1 ttl=64 time=0.011 ms
    64 bytes from rocketmq-nameserver2 (137.32.117.12): icmp_seq=2 ttl=64 time=0.020 ms
    
  • 安裝jdk

    • 上傳安裝包,解壓

      [root@localhost usr]# mkdir java
      [root@localhost java]# tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/java
      [root@localhost java]# pwd
      /usr/java
      [root@localhost java]# ls
      jdk1.8.0_181  jdk-8u181-linux-x64.tar.gz
      
    • 修改/etc/profile檔案

      [root@localhost java]# vim /etc/profile
      # 新增下面三行
      export JAVA_HOME=/usr/java/jdk1.8.0_181
      export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
      export PATH=$PATH:${JAVA_HOME}/bin
      
    • 重新載入配置檔案,並驗證

      [root@localhost java]# source /etc/profile
      [root@localhost java]# java -version
      java version "1.8.0_181"
      Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
      

3、修改配置檔案

  • 解壓重新命名

    [root@localhost local]# tar -zxvf alibaba-rocketmq-3.2.6.tar.gz 
    [root@localhost local]# ls
    alibaba-rocketmq  alibaba-rocketmq-3.2.6.tar.gz  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
    [root@localhost local]# mv alibaba-rocketmq rocketmq
    [root@localhost local]# ls
    alibaba-rocketmq-3.2.6.tar.gz  bin  etc  games  include  lib  lib64  libexec  rocketmq  sbin  share  src
    
    
  • 建立儲存路徑

    [root@localhost local]# mkdir /usr/local/rocketmq/store
    [root@localhost local]# mkdir /usr/local/rocketmq/store/commitlog
    [root@localhost local]# mkdir /usr/local/rocketmq/store/consumequeue
    [root@localhost local]# mkdir /usr/local/rocketmq/store/index
    
  • 修改日誌配置檔案

    [root@localhost conf]# mkdir -p /usr/local/rocketmq/logs
    [root@localhost conf]# cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
    
  • 修改啟動指令碼引數

    [root@localhost bin]# vi /usr/local/rocketmq/bin/runbroker.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
    [root@localhost bin]# vi /usr/local/rocketmq/bin/runserver.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
    

4、啟動

  • 啟動nameserver

    [root@localhost java]# cd /usr/local/rocketmq/bin
    [root@localhost bin]# nohup sh mqnamesrv &
    [1] 1837
    [root@localhost bin]# nohup: ignoring input and appending output to ‘nohup.out’
    
    [root@localhost bin]# 
    
  • 啟動brokerServer A,在11主機

    [root@localhost bin]# cd /usr/local/rocketmq/bin
    [root@localhost bin]# nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
    [2] 1867
    [root@localhost bin]# jps
    1874 BrokerStartup
    1843 NamesrvStartup
    1934 Jps
    
    
    # 檢視啟動日誌
    [root@localhost bin]# tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
    [root@localhost bin]# tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log
    
  • 啟動brokerServer B,在12主機

    [root@localhost bin]# cd /usr/local/rocketmq/bin
    [root@localhost bin]# nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &