精华内容
下载资源
问答
  • Linux部署RocketMQ集群

    2018-11-30 16:40:19
    Linux部署RocketMQ集群 1. Linux启动RocketMQ 进入rocketmq环境变量的路径:bin目录 cd /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/bin 在bin目录下启动Name Server nohup sh ...

    Linux部署RocketMQ集群

    1. Linux启动RocketMQ

    1. 进入rocketmq环境变量的路径:bin目录
    cd /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/bin
    
    1. 在bin目录下启动Name Server
    nohup sh mqnamesrv
    
    1. 在bin目录下启动Broker
    nohup sh mqbroker
    

    注:若无法启动,改runbroker.sh和runserver.sh中的启动内存,要小于虚拟机内存,两者启动内存大小一致

    1. 查看两个进程是否启动
    jps
    

    提示:3601 Jps
    ​ 3494 NamesrvStartup
    ​ 3530 BrokerStartup

    1. 关掉服务器:需先关broker,再关nameserver
    sh mqshutdown broker
    

    提示:The mqbroker(36695) is running…
    Send shutdown request to mqbroker(36695) OK

    sh mqshutdown namesrv
    

    提示:The mqnamesrv(36664) is running…
    Send shutdown request to mqnamesrv(36664) OK

    2. Linux部署双master模式集群

    1. 修改两台机子的hosts文件:vi /ect/hosts
    192.168.9.157 rocketmq-nameserver1 
    192.168.9.157 rocketmq-master1 
    192.168.9.150 rocketmq-nameserver2 
    192.168.9.150 rocketmq-master2 
    

    注:修改前需先关闭两台机子防火墙
    2. 重启网卡

    service network restart
    
    1. 两台机互相ping一下,例:
    ping 192.168.9.150 
    ping rocketmq-nameserver2 
    ping rocketmq-master2
    
    1. 解压rocketmq到指定的文件夹
    tar -zxvf rocketmq-all-4.3.2.tar.gz -C /usr/local
    

    修改文件名为rocketmq: mv rocketmq-all-4.3.2 rocketmq
    创建软连接(可有可无): ln -s rocketmq rocketmq

    1. 根据需要,创建数据存储路径(两台机器都要创建),可跳过
    mkdir rocketmq/data                     //存储路径
    mkdir rocketmq/data/commitlog           //commitLog 存储路径
    mkdir rocketmq/data/consumerqueue       //消费队列存储路径存储路径
    mkdir rocketmq/data/index               //消息索引存储路径
    
    1. 两台机分别进入/usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-noslave目录,增加代码(注意路径是:/conf/2m-noslave)

    主机1修改broker-a.properties文件:

    namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;
    

    主机2修改broker-b.properties文件 :

    namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;
    

    注:根据需要可加其他配置,如下

    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker名字,注意此处不同的配置文件填写的不一样
    brokerName=broker-a|broker-b
    #0 表示 Master, >0 表示 Slave
    brokerId=0
    #nameServer地址,分号分割
    namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
    defaultTopicQueueNums=4
    #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=true
    #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=true
    #Broker 对外服务的监听端口
    listenPort=10911
    #删除文件时间点,默认凌晨 0点
    deleteWhen=00
    #文件保留时间,默认 48 小时
    fileReservedTime=120
    #commitLog每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue每个文件默认存30W条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    #检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    #存储路径
    storePathRootDir=/opt/rocketmq/data
    #commitLog 存储路径
    storePathCommitLog=/opt/rocketmq/data/commitlog
    #消费队列存储路径存储路径
    storePathConsumeQueue=/opt/rocketmq/data/consumequeue
    #消息索引存储路径
    storePathIndex=/opt/rocketmq/data/index
    #checkpoint 文件存储路径
    storeCheckpoint=/opt/rocketmq/data/checkpoint
    #abort 文件存储路径
    abortFile=/opt/rocketmq/data/abort
    #限制的消息大小
    maxMessageSize=65536
    #flushCommitLogLeastPages=4
    #flushConsumeQueueLeastPages=2
    #flushCommitLogThoroughInterval=10000
    #flushConsumeQueueThoroughInterval=60000
    #Broker 的角色
    #- ASYNC_MASTER 异步复制Master
    #- SYNC_MASTER 同步双写Master
    #- SLAVE
    brokerRole=ASYNC_MASTER
    #刷盘方式
    #- ASYNC_FLUSH 异步刷盘
    #- SYNC_FLUSH 同步刷盘
    flushDiskType=ASYNC_FLUSH
    #checkTransactionMessageEnable=false
    #发消息线程池数量
    #sendMessageThreadPoolNums=128
    #拉消息线程池数量
    #pullMessageThreadPoolNums=128
    
    1. 根据需要,修改日志配置文件(两台机器同样操作),可跳过

    创建一个logs目录: mkdir /opt/rocketmq/logs
    然后执行以下代码进行日志文件的替换,sed是linux的替换命令。

    cd /opt/rocketmq/conf && sed -i 's#${user.home}#/opt/rocketmq#g' *.xml
    
    1. 根据需要,修改启动脚本参数,JVM调优(两台机器同样操作),可跳过

      由于将nameServer和broker放在了同一台机器上,所以根据实际情况可分别对nameServer和broker进行jvm的性能调优,生产环境默认即可不需修改。

      比如我的虚拟机内存只有1G,假设nameserver和broker默认启动内存为1G的话,那么我的虚拟机会因为内存不够而无法同时启动nameserver和broker,此时就需要把两个的启动内存改小一点。

    a)broker的调优

    vim /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/bin/runbroker.sh
    

    修改 JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"中的启动内存

    b)nameserver的调优

     vim /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/bin/runserver.sh
    

    修改 JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"中的启动内存

    1. 返回bin目录分别启动两台机子的nameserver( 两台机器同样操作 )
    nohup sh mqnamesrv &
    

    可用jps命令查看是否有nameserver进程

    1. 在bin目录分别启动两台机子broker:

    主机1(master1):注意主要路径是 /conf/2m-noslave/broker-a.properties

    nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
    

    主机2(master2):注意主要路径是 /conf/2m-noslave/broker-b.properties

    nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
    

    可用jps命令查看是否有broker进程
    注:先启动两台机器的NameServer,再启动两台机器的Borker,关机的时候顺序相反,先关闭两台机器的Broker,再关闭两台机器的Nameserver。

    1. 在rocketmq的bin目录下查看集群情况:
    sh mqadmin clusterList -n "192.168.9.157:9876;192.168.9.150:9876"
    

    注:也可在Windows端开启管控台,启动步骤在下文第4点

    1. 停止broker命令
    sh mqshutdown broker
    
    1. 停止nameserver命令
    sh mqshutdown namesrv
    

    3. Linux部署双master双slave异步复制集群(精简版)

    1. 修改四台机子的hosts文件:vi /ect/hosts
    192.168.9.157 rocketmq-nameserver1 
    192.168.9.157 rocketmq-master1 
    192.168.9.150 rocketmq-nameserver2 
    192.168.9.150 rocketmq-master2 
    192.168.9.154 rocketmq-nameserver3 
    192.168.9.154 rocketmq-master1-slave 
    192.168.9.155 rocketmq-nameserver4 
    192.168.9.155 rocketmq-master2-slave
    
    1. 重启网卡
    service network restart
    
    1. 互相ping一下,例:
    ping 192.168.9.150 
    ping rocketmq-nameserver2 
    ping rocketmq-master2
    
    1. 四台机进入/usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async目录,增加一行代码

    主机1修改broker-a.properties文件
    主机2修改broker-b.properties文件
    从机1修改broker-a-s.properties文件
    从机2修改broker-b-s.properties文件

    namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
    
    1. 在bin目录分别启动四台机子的nameserver
    nohup sh mqnamesrv &
    
    1. 在bin目录分别启动四台机子broker:

    主机1:

    nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 &
    

    主机2:

    nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-b.properties >/dev/null 2>&1 &
    

    从机1:

    nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-a-s.properties >/dev/null 2>&1 &
    

    从机2:

    nohup sh mqbroker -c /usr/local/rocketmq-all-4.3.2/distribution/target/apache-rocketmq/conf/2m-2s-async/broker-b-s.properties >/dev/null 2>&1 &
    
    1. 在rocketmq的bin目录下查看集群情况:
    sh mqadmin clusterList -n "192.168.9.157:9876;192.168.9.150:9876;192.168.9.154:9876;192.168.9.155:987"
    

    注:可在Windows端开启管控台,步骤下文有,需改application.properties中的namesrvAddr

    4. Windows 启动 RocketMQ 管控台

    1. 下载地址:https://github.com/apache/rocketmq-externals.git

    2. 打开下载好的文件,先进入 E:\rocketmq-externals-master\rocketmq-console\src\main\resources,修改application.properties中的namesrvAddr和server.port配置,例如:

    server.port=8082  //此处配置管控台端口,浏览器访问就是用这个端口
    rocketmq.config.namesrvAddr=192.168.0.158:9876;192.168.0.179:9876 
    
    1. Cmd命令框执行进入E:\rocketmq-externals-master\rocketmq-console,编译生成
    mvn clean package -Dmaven.test.skip=true
    
    1. 编译成功后,Cmd命令框执行进入E:\rocketmq-externals-master\rocketmq-console\target,启动‘rocketmq-console-ng-1.0.0.jar’。
    java -jar rocketmq-console-ng-1.0.0.jar
    
    1. 浏览器中输入‘127.0.0.1:配置端口’,成功后即可查看。localhost:8082
      端口在E:\rocketmq-externals-master\rocketmq-console\src\main\resources中的‘application.properties’文件可看,如server.port=8082
    展开全文
  • Linux安装RocketMQ

    千次阅读 2019-03-05 21:41:05
    文章目录Linux安装RocketMQ双Master模式1. 服务器环境2. hosts添加信息(两台机器都添加)3. 测试两个服务器刚刚配置的hosts4. 解压(两台机器)5. 创建软链接(两台机器)6. 创建存储路径(两台机器)7. RocketMQ配置文件...

    Linux安装RocketMQ

    版本介绍

    1. Linux: CentOS 7
    2. RocketMQ: alibaba-rocketmq-3.2.6.tar.gz
    3. 环境描述: 本次测试是在在本电脑中安装的VMware软件中的两台虚拟机, ip地址分别为192.168.10.129和192.168.10.196, 均已关闭防火墙
    4. alibaba-rocketmq-3.2.6.tar.gz 下载地址: https://pan.baidu.com/s/1Uj42USSt9Fx5FXqOiGFeyQ 提取码: ivck
    5. rocketmq-console-3.2.6.war 下载地址
      链接: https://pan.baidu.com/s/1I0LHpCQvbjqz80x5zAQ7Sg 提取码: ta9k

    双Master模式

    1. 服务器环境

    序号ip角色模式
    1192.168.10.129nameServer1,brokerServer1Master1
    2192.168.10.196nameServer2,brokerServer2Master2

    2. hosts添加信息(两台机器都添加)

    [root@masteryee-one ~]# vi /etc/hosts
    

    hosts 如下

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    
    192.168.10.129 rocketmq-nameserver1
    192.168.10.129 rocketmq-master1
    192.168.10.196 rocketmq-nameserver2
    192.168.10.196 rocketmq-master2
    
    IPNAME
    192.168.10.129rocketmq-nameserver1
    192.168.10.129rocketmq-master1
    192.168.10.196rocketmq-nameserver2
    192.168.10.196rocketmq-master2

    重启网卡

    [root@masteryee-one ~]# service network restart
    

    3. 测试两个服务器刚刚配置的hosts

    两个服务器之间互相ping通一下, 这一步没做好, 后期整个都没用了

    [root@masteryee-one ~]# ping 192.168.10.129
    [root@masteryee-one ~]# ping 192.168.10.196
    [root@masteryee-one ~]# ping rocketmq-nameserver1
    [root@masteryee-one ~]# ping rocketmq-master1
    [root@masteryee-one ~]# ping rocketmq-nameserver2
    [root@masteryee-one ~]# ping rocketmq-master2
    

    4. 解压(两台机器)

    上传 alibaba-rocketmq-3.2.6.tar.gz 文件到 /usr/local/ 下

    [root@masteryee-one local]# tar -zxvf alibaba-rocketmq-3.2.6.tar.gz -C /usr/local/
    

    5. 创建软链接(两台机器)

    [root@masteryee-one local]# ln -s alibaba-rocketmq rocketmq
    

    查看软链接是否创建成功

    [root@masteryee-one local]# ll
    total 4
    drwxr-xr-x.  9 52583 users  114 Mar 28  2015 alibaba-rocketmq
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 bin
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 etc
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 games
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 include
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 lib
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 lib64
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 libexec
    lrwxrwxrwx.  1 root  root    16 Mar  5 08:09 rocketmq -> alibaba-rocketmq
    drwxr-xr-x.  2 root  root     6 Nov  5  2016 sbin
    drwxr-xr-x.  5 root  root    49 Mar  1 19:46 share
    drwxr-xr-x.  2 root  root   135 Mar  5 07:32 src
    

    6. 创建存储路径(两台机器)

    [root@masteryee-one local]# mkdir /usr/local/rocketmq/store
    [root@masteryee-one local]# mkdir /usr/local/rocketmq/store/commitlog
    [root@masteryee-one local]# mkdir /usr/local/rocketmq/store/consumequeue
    [root@masteryee-one local]# mkdir /usr/local/rocketmq/store/index
    

    7. RocketMQ配置文件(两台机器)

    /usr/local/rocketmq/conf/2m-noslave/ 下有broker-a.properties 和 broker-b.properties 两个配置文件, 其实只需要改对应服务器上的配置文件即可, 即 Master1上改broker-a.properties, Master2上改broker-b.properties 就可以了, 我这里两台服务器的两个配置文件都改了

    修改 broker-a.properties

    [root@masteryee-one local]# vim /usr/local/rocketmq/conf/2m-noslave/broker-a.properties
    

    broker-a.properties 的配置详情

    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker名字,注意此处不同的配置文件填写的不一样
    brokerName=broker-a
    #0 表示 Master,>0 表示 Slave
    brokerId=0
    #nameServer地址,分号分割
    namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
    defaultTopicQueueNums=4
    #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=true
    #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=true
    #Broker 对外服务的监听端口
    listenPort=10911
    #删除文件时间点,默认凌晨 4点
    deleteWhen=04
    #文件保留时间,默认 48 小时
    fileReservedTime=120
    #commitLog每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue每个文件默认存30W条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    #检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    #存储路径
    storePathRootDir=/usr/local/rocketmq/store
    #commitLog 存储路径
    storePathCommitLog=/usr/local/rocketmq/store/commitlog
    #消费队列存储路径存储路径
    storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
    #消息索引存储路径
    storePathIndex=/usr/local/rocketmq/store/index
    #checkpoint 文件存储路径
    storeCheckpoint=/usr/local/rocketmq/store/checkpoint
    #abort 文件存储路径
    abortFile=/usr/local/rocketmq/store/abort
    #限制的消息大小
    maxMessageSize=65536
    #flushCommitLogLeastPages=4
    #flushConsumeQueueLeastPages=2
    #flushCommitLogThoroughInterval=10000
    #flushConsumeQueueThoroughInterval=60000
    #Broker 的角色
    #- ASYNC_MASTER 异步复制Master
    #- SYNC_MASTER 同步双写Master
    #- SLAVE
    brokerRole=ASYNC_MASTER
    #刷盘方式
    #- ASYNC_FLUSH 异步刷盘
    #- SYNC_FLUSH 同步刷盘
    flushDiskType=ASYNC_FLUSH
    #checkTransactionMessageEnable=false
    #发消息线程池数量
    #sendMessageThreadPoolNums=128
    #拉消息线程池数量
    #pullMessageThreadPoolNums=128
    

    修改 broker-b.properties

    [root@masteryee-one local]# vim /usr/local/rocketmq/conf/2m-noslave/broker-b.properties
    

    broker-b.properties 配置详情

    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker名字,注意此处不同的配置文件填写的不一样
    brokerName=broker-b
    #0 表示 Master,>0 表示 Slave
    brokerId=0
    #nameServer地址,分号分割
    namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
    defaultTopicQueueNums=4
    #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=true
    #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=true
    #Broker 对外服务的监听端口
    listenPort=10911
    #删除文件时间点,默认凌晨 4点
    deleteWhen=04
    #文件保留时间,默认 48 小时
    fileReservedTime=120
    #commitLog每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue每个文件默认存30W条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    #检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    #存储路径
    storePathRootDir=/usr/local/rocketmq/store
    #commitLog 存储路径
    storePathCommitLog=/usr/local/rocketmq/store/commitlog
    #消费队列存储路径存储路径
    storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
    #消息索引存储路径
    storePathIndex=/usr/local/rocketmq/store/index
    #checkpoint 文件存储路径
    storeCheckpoint=/usr/local/rocketmq/store/checkpoint
    #abort 文件存储路径
    abortFile=/usr/local/rocketmq/store/abort
    #限制的消息大小
    maxMessageSize=65536
    #flushCommitLogLeastPages=4
    #flushConsumeQueueLeastPages=2
    #flushCommitLogThoroughInterval=10000
    #flushConsumeQueueThoroughInterval=60000
    #Broker 的角色
    #- ASYNC_MASTER 异步复制Master
    #- SYNC_MASTER 同步双写Master
    #- SLAVE
    brokerRole=ASYNC_MASTER
    #刷盘方式
    #- ASYNC_FLUSH 异步刷盘
    #- SYNC_FLUSH 同步刷盘
    flushDiskType=ASYNC_FLUSH
    #checkTransactionMessageEnable=false
    #发消息线程池数量
    #sendMessageThreadPoolNums=128
    #拉消息线程池数量
    #pullMessageThreadPoolNums=128
    

    8. 修改日志配置文件(两台机器)

    [root@masteryee-one local]# mkdir -p /usr/local/rocketmq/logs
    [root@masteryee-one local]# cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
    

    9. 修改启动脚本参数(两台机器)

    broker和nameserver都有自己的jvm配置, 建议在生产服务器上使用默认即可, 因为本次是在虚拟机上安装,没有足够的内存, 所以需要修改一下配置

    修改 runbroker.sh

    vim /usr/local/rocketmq/bin/runbroker.sh
    
    
    #===========================================================================================
    # JVM Configuration
    #===========================================================================================
    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:PermSize=128m -XX:MaxPermSize=320m"
    

    修改 runserver.sh

    vim /usr/local/rocketmq/bin/runserver.sh
    
    #===========================================================================================
    # JVM Configuration
    #===========================================================================================
    JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:PermSize=128m -XX:MaxPermSize=320m"
    

    10. 启动NameServer(两台机器)

    和ActiveMQ和Zookeeper一样, 在ActiveMQ集群环境中, 我们是先启动Zookeeper集群, 再启动ActiveMQ, 关机时, 是先关闭ActiveMQ, 再关闭Zookeeper

    所以同样的, 在RocketMQ中, nameServer等同于Zookeeper的存在, 所以先启动NameServer, 再启动Broker, 关机时, 先关闭Broker, 再关闭NameServer

    启动NameServer

    [root@masteryee-one ~]# cd /usr/local/rocketmq/bin
    [root@masteryee-one bin]# nohup sh mqnamesrv &
    

    查看是否启动成功, 启动成功后有 NamesrvStartup 服务, 如下

    // 主一
    [root@masteryee-one bin]# jps
    6530 Jps
    6485 NamesrvStartup
    
    // 主二
    [root@masteryee-two bin]# jps
    9573 NamesrvStartup
    9631 Jps
    

    查看NameServer启动日志

    [root@masteryee-two bin]# tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
    2019-03-05 08:30:43 INFO main - rocketmqHome=/usr/local/rocketmq
    2019-03-05 08:30:43 INFO main - kvConfigPath=/root/namesrv/kvConfig.json
    2019-03-05 08:30:43 INFO main - listenPort=9876
    2019-03-05 08:30:43 INFO main - serverWorkerThreads=8
    2019-03-05 08:30:43 INFO main - serverCallbackExecutorThreads=0
    2019-03-05 08:30:43 INFO main - serverSelectorThreads=3
    2019-03-05 08:30:43 INFO main - serverOnewaySemaphoreValue=256
    2019-03-05 08:30:43 INFO main - serverAsyncSemaphoreValue=64
    2019-03-05 08:30:43 INFO main - serverChannelMaxIdleTimeSeconds=120
    2019-03-05 08:30:43 INFO main - serverSocketSndBufSize=2048
    2019-03-05 08:30:43 INFO main - serverSocketRcvBufSize=1024
    2019-03-05 08:30:43 INFO main - serverPooledByteBufAllocatorEnable=false
    2019-03-05 08:30:44 INFO main - The Name Server boot success.
    2019-03-05 08:30:44 INFO NettyEventExecuter - NettyEventExecuter service started
    2019-03-05 08:31:44 INFO NSScheduledThread1 - --------------------------------------------------------
    2019-03-05 08:31:44 INFO NSScheduledThread1 - configTable SIZE: 0
    

    11. 启动BrokerServer A(192.168.10.129)

    注意启动的配置文件, 这里是broker-a.properties

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

    12. 启动BrokerServer B(192.168.10.196)

    注意启动的配置文件, 这里是broker-b.properties

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

    13. 查看启动的服务(两台机器)

    [root@masteryee-one bin]# jps
    6485 NamesrvStartup
    6965 Jps
    6904 BrokerStartup
    

    14. 查看日志

    两台机器的查看日志命令都是如下

    [root@masteryee-one bin]# tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log
    

    日志下方出现这个才算是启动成功, 之前在云服务器中配置时, 因为两台服务器之间的防火墙没有关闭,导致端口没有开放,不能相互连接导致失败.
    所以如果出现启动失败, 连接失败的情况, 先互相ping一下端口, 端口是9876

    2019-03-05 08:35:29 INFO BrokerControllerScheduledThread1 - register broker to name server rocketmq-nameserver2:9876 OK
    2019-03-05 08:35:29 INFO BrokerControllerScheduledThread1 - register broker to name server rocketmq-nameserver1:9876 OK
    

    BrokerServer A的日志

    [root@masteryee-one bin]# tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log
    2019-03-05 08:35:17 INFO main - rocketmqHome=/usr/local/rocketmq
    2019-03-05 08:35:17 INFO main - namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    2019-03-05 08:35:17 INFO main - brokerIP1=192.168.10.129
    2019-03-05 08:35:17 INFO main - brokerIP2=192.168.10.129
    2019-03-05 08:35:17 INFO main - brokerName=broker-a
    2019-03-05 08:35:17 INFO main - brokerClusterName=rocketmq-cluster
    ... 中间部分省略
    2019-03-05 08:35:17 INFO main - syncFlushTimeout=5000
    2019-03-05 08:35:17 INFO main - messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
    2019-03-05 08:35:17 INFO main - flushDelayOffsetInterval=10000
    2019-03-05 08:35:17 INFO main - cleanFileForciblyEnable=true
    2019-03-05 08:35:17 INFO main - user specfied name server address: rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    2019-03-05 08:35:17 INFO PullRequestHoldService - PullRequestHoldService service started
    2019-03-05 08:35:18 INFO main - register broker to name server rocketmq-nameserver2:9876 OK
    2019-03-05 08:35:19 INFO main - register broker to name server rocketmq-nameserver1:9876 OK
    2019-03-05 08:35:19 INFO main - The broker[broker-a, 192.168.10.129:10911] boot success. and name server is rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    2019-03-05 08:35:27 INFO BrokerControllerScheduledThread1 - slave fall behind master, how much, 0 bytes
    2019-03-05 08:35:29 INFO BrokerControllerScheduledThread1 - register broker to name server rocketmq-nameserver2:9876 OK
    2019-03-05 08:35:29 INFO BrokerControllerScheduledThread1 - register broker to name server rocketmq-nameserver1:9876 OK
    

    BrokerServer B的日志

    [root@masteryee-two bin]# tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log
    2019-03-05 08:35:23 INFO main - rocketmqHome=/usr/local/rocketmq
    2019-03-05 08:35:23 INFO main - namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    2019-03-05 08:35:23 INFO main - brokerIP1=192.168.10.196
    2019-03-05 08:35:23 INFO main - brokerIP2=192.168.10.196
    2019-03-05 08:35:23 INFO main - brokerName=broker-b
    2019-03-05 08:35:23 INFO main - brokerClusterName=rocketmq-cluster
    ... 中间部分省略
    2019-03-05 08:35:23 INFO main - syncFlushTimeout=5000
    2019-03-05 08:35:23 INFO main - messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
    2019-03-05 08:35:23 INFO main - flushDelayOffsetInterval=10000
    2019-03-05 08:35:23 INFO main - cleanFileForciblyEnable=true
    2019-03-05 08:35:23 INFO main - user specfied name server address: rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    2019-03-05 08:35:24 INFO PullRequestHoldService - PullRequestHoldService service started
    2019-03-05 08:35:24 INFO main - register broker to name server rocketmq-nameserver1:9876 OK
    2019-03-05 08:35:24 INFO main - register broker to name server rocketmq-nameserver2:9876 OK
    2019-03-05 08:35:24 INFO main - The broker[broker-b, 192.168.10.196:10911] boot success. and name server is rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
    2019-03-05 08:35:34 INFO BrokerControllerScheduledThread1 - slave fall behind master, how much, 0 bytes
    2019-03-05 08:35:34 INFO BrokerControllerScheduledThread1 - register broker to name server rocketmq-nameserver1:9876 OK
    2019-03-05 08:35:34 INFO BrokerControllerScheduledThread1 - register broker to name server rocketmq-nameserver2:9876 OK
    

    部署RocketMQ控制台

    RocketMQ的控制台是单独的一个包, 需要使用tomcat单独部署

    创建rocketmq-console文件夹

    在 tomcat下的webapps下创建 rocketmq-console 文件夹

    [root@masteryee-one webapps]# mkdir rocketmq-console 
    

    上传war包解压

    上传 rocketmq-console-3.2.6.war 包到 tomcat下的webapps下

    解压到刚刚创建的 rocketmq-console 文件夹中

    [root@masteryee-one webapps]# unzip -d rocketmq-console-3.2.6 rocketmq-console
    

    移除war包, 这个没用了

    [root@masteryee-one webapps]# rm -f rocketmq-console-3.2.6 rocketmq-console
    

    修改连接配置文件

    进入 解压后的 rocketmq-console/WEB-INF/classes/ 下

    [root@masteryee-one webapps]# cd rocketmq-console/WEB-INF/classes/
    
    [root@masteryee-one classes]# ls
    com  config.properties  logback.xml  spring
    

    修改配置文件

    [root@masteryee-one classes]# vim config.properties 
    

    IP:端口 用分号;相隔, 如下: 配置两台服务器

    rocketmq.namesrv.addr=192.168.10.129:9876;192.168.10.196:9876
    throwDone=true
    
    展开全文
  • 今天教大家如何在Linux中安装RocketMq。首先,下载最新版RocketMq,这里使用4.6.0为例.环境要求1、 jdk8+2、 maven 3.2.x+1、下载...

    今天教大家如何在Linux中安装RocketMq。

    首先,下载最新版RocketMq,这里使用4.6.0为例.

    环境要求

    1、 jdk8+

    2、 maven 3.2.x+

    1、下载

    http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.6.0/rocketmq-all-4.6.0-bin-release.zip

    2、解压缩

    解压缩并重命名为rocketmq

    # unzip rocketmq-all-4.6.0-bin-release.zip && mv rocketmq-all-4.6.0-bin-release rocketmq

    接下来注意了,如果你的服务器足够大则不需要以下步骤,小编的服务器只有2G,所以需要修改运行内存,否则会报错,如下操作。

    1、修改runserver.sh

    # cd /root/rocketmq/bin/

    # vim runserver.sh

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

    2、修改runbroker.sh

    # vim runbroker.sh

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

    3、修改tools.sh

    # vim tools.sh

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

    3、运行Name Server

    # cd /root/rocketmq

    # nohup sh bin/mqnamesrv &

    (Ctrl+C获另起一个xshell窗口)

    # tail -f ~/logs/rocketmqlogs/namesrv.log

    4、运行Broker

    # cd /root/rocketmq

    # nohup sh bin/mqbroker -n localhost:9876 &

    (Ctrl+C获另起一个xshell窗口)

    # tail -f ~/logs/rocketmqlogs/broker.log

    5、测试生产者和消费者

    在发送/接收消息之前,我们需要告诉客户端名称服务器的位置。RocketMQ提供了多种方法来实现这一目标。为简单起见,我们使用环境变量NAMESRV_ADDR

    # export NAMESRV_ADDR=localhost:9876

    # sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

    # sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

    6、关闭服务

    # sh bin/mqshutdown broker

    # sh bin/mqshutdown namesrv

    更多命令如下所示:

    查看集群情况 ./mqadmin clusterList -n 127.0.0.1:9876

    查看 broker 状态 ./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911 (注意换成你的 broker 地址)

    查看 topic 列表 ./mqadmin topicList -n 127.0.0.1:9876

    查看 topic 状态 ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic (换成你想查询的 topic)

    查看 topic 路由 ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic

    统一首发平台为微信公众号"轻梦致新",搜索关注公众号,第一时间阅读最新内容。

    展开全文
  • linux安装rocketmq

    2020-08-27 14:42:56
    1.基于java,maven环境搭建 linux java 搭建https://blog.csdn.net/qq_37675219/article/details/108257960 ...2.下载 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-so...

    1.基于java,maven环境搭建

    linux java 搭建 linux安装java1.8_拒绝 emo的博客-CSDN博客

    linux maven搭建 linux安装maven3.2.2_拒绝 emo的博客-CSDN博客

    2.下载   Apache Download Mirrors

    链接: https://pan.baidu.com/s/1gmT1lK27Uq_xoKyt1MH7Aw 提取码: rup3 

    上传文件解压

    tar -zxvf rocketmq-all-4.3.0.tar.gz

    3. 移动到 /usr/local/rocketmq

    mv rocketmq-rocketmq-all-4.3.0/  /usr/local/rocketmq

    4. 编译源码

    cd /usr/local/rocketmq
    
    mvn -Prelease-all -DskipTests clean install -U

    5. 配置环境变量

    vim /etc/profile
    
    export rocketmq=/usr/local/rocketmq/distribution/target/apache-rocketmq
    export PATH=$PATH:$rocketmq/bin

     wq 保存并退出,source /etc/profile 使配置生效

    source /etc/profile

    6. 创建日志目录

    cd /usr/local/rocketmq/
    
    mkdir logs

    7. 创建broker配置文件 解决项目集成外网无法访问问题  

    cd distribution/target/apache-rocketmq/bin/
    
    echo "brokerIP1=192.168.5.140" > broker.properties

      换成你自己的外网IP

    8. 启动 nameserver和 broker

      开启防火墙规则9876端口

    nohup sh mqnamesrv >/usr/local/rocketmq/logs/mqnamesrv.log 2>&1 &
    
    nohup sh mqbroker -n localhost:9876 -c /usr/local/rocketmq/distribution/target/apache-rocketmq/bin/broker.properties >/usr/local/rocketmq/logs/broker.log 2>&1 &

    9. 查看启动状态

    cd /usr/local/rocketmq/logs
    cat mqnamesrv.log
    cat broker.log

     此处报错调小内存

    vim /usr/local/rocketmq/distribution/target/apache-rocketmq/bin/runbroker.sh
    
    vim /usr/local/rocketmq/distribution/target/apache-rocketmq/bin/runserver.sh
    
    

    日志内容提示success  即表示启动成功

    10. 停止

    sh /usr/local/rocketmq/distribution/target/apache-rocketmq/bin/mqshutdown namesrv
    sh /usr/local/rocketmq/distribution/target/apache-rocketmq/bin/mqshutdown broker

    web可视化
     1. 下载源码

       GitHub: https://github.com/apache/rocketmq-externals/tags

    2. 解压源码

    tar -zxvf rocketmq-console-1.0.0.tar.gz

    3. 移动

    mv rocketmq-externals-rocketmq-console-1.0.0 /usr/local/

    4. 修改端口和rocketmq连接

    cd /usr/local/rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console/src/main/resources/
    vim application.properties

      新增修改如下配置  

    server.port=8282
    rocketmq.config.namesrvAddr=localhost:9876

    5. 编译

    cd /usr/local/rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console
    mvn clean package -Dmaven.test.skip=true

    6. 启动

    cd target/
    java -jar rocketmq-console-ng-1.0.0.jar &

    7. 访问

    开启防火墙规则 8282端口

    firewall-cmd --zone=public --add-port=8282/tcp --permanent   # 开放8282端口
    
    firewall-cmd --zone=public --remove-port=8282/tcp --permanent  #关闭8282端口
    
    firewall-cmd --reload   # 配置立即生效

    展开全文
  • Linux部署RocketMQ

    2020-10-26 15:06:23
    http://rocketmq.apache.org/docs/quick-start/ unzip rocketmq-all-4.7.1-source-release.zip ...cd distribution/target/rocketmq-4.7.1/rocketmq-4.7.1 Start Name Server nohup sh bin/mqnamesrv
  • Linux安装RocketMq

    2020-01-11 16:27:32
    今天教大家如何在Linux中安装RocketMq。首先,下载最新版RocketMq,这里使用4.6.0为例. 环境要求 1、 jdk8 2、 maven 3.2.x 1、下载 ...
  • linux安装RocketMQ

    2019-10-31 10:17:54
    nohup sh /oa/other/rocketmq/bin/mqbroker -c /oa/other/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 & broker-a.properties配置文件中加入 autoCreateTopicEnable=true 二、connect to...
  • LinuxRocketMQ单机安装

    2019-02-26 18:21:26
    LinuxRocketMQ单机安装 1、优化 主机名、防火墙关闭、tcp优化等 2、jdk安装(1.8) wget ftp://10.249.100.249/pub/jdk/jdk8/* 3、Maven 3.0.5 打包过程省了,开发给我打包好 4、下载rocketmq wget ...
  • linux 搭建rocketmq集群

    2019-12-05 16:51:58
    项目参考博客:... RocketMQ web界面监控rocketmq-console部署 项目下载地址:https://github.com/apache/rocketmq-externals/tree/master/ 找到rocketmq-externals/rocket...
  • linuxRocketMq搭建

    2021-08-26 15:07:06
    一、准备工作 说明:rocketmq不用docker运行,因为官方没有提供镜像,有三方构建的镜像版本是很旧的。...jdk-8u212-linux-x64.tar.gz jdk安装需要 rocketmq-all-4.7.0-bin-release.zip rocketmq服务安装
  • 1.资源准备 ...将下载后的压缩包复制到 linux 服务,使用 unzip rocketmq-all-4.6.0-bin-release.zip 命令解压。 cd rocketmq-all-4.6.0-bin-release/ 进入到安装目录,修改 runbroker.sh 和 runserver.sh
  • linux 安装 rocketmq

    2019-03-27 17:56:07
    rocketmq服务端安装 服务安装包下载地址: http://www-us.apache.org/dist/rocketmq/4.4.0/ 客服端下载地址: https://github.com/apache/rocketmq-externals 在usr/local目录下新建一个mq文件夹:mkdir mq 将...
  • 使用Linux安装RocketMQ

    2021-03-02 21:24:23
    前提须知linux配置java环境变量 克隆一台虚拟机 选择要克隆的虚拟机邮件找到管理->克隆->下一步->下一步-> 选择完整的克隆-> 改名选择安装的路径->完成 点击你克隆出来的虚拟机->编辑...
  • linux部署rocketmq

    2018-09-20 20:00:39
    获取rocketmq二进制文件安装包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.0/rocketmq-all-4.3.0-bin-release.zip unzip rocketmq-all-4.3.0-bin-release.zip 添加环境变量 vi /...
  • Linux搭建RocketMQ集群

    2019-11-01 16:09:33
    地址:http://rocketmq.apache.org/release_notes/release-notes-4.5.2/ 解压文件到/usr/local 进入conf文件 可以看到有3个文件夹 2m-2s-async:多Master多Slave模式,异步复制 2m-2s-sync:多Maste...
  • 下载安装 版本:4.8.0 下载地址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip 下载成功后,上传到 /opt 目录,并解压
  • brokerClusterName=rocketmq-cluster # broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a # 0 表示Master,>0 表示Slave brokerId=0 # nameServer地址,分号分割 namesrvAddr=rocketmq-...
  • LinuxRocketMQ详细步骤

    2021-09-07 15:38:58
    一、安装RocketMQ需要安装maven 1、安装maven 下载 wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz --no-check-certificate 解压 tar -xf apache-maven-3.5.4-...
  • 在使用Linux运行RocketMQ时的注意点 1.需要开启NameServer 2.需要开启Broker 这两个是RocketMQ运行的基础,如下图(单机模拟时还需注意内存的大小的影响)
  • linux 安装 RocketMQ4.7.1

    2020-12-15 13:39:04
    rocketmq 是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。 官网 http://rocketmq.apache.org/docs/quick-start/ 首先, 安装rocketmq 需要支持jdk1.8以上环境, maven ...
  • linux-RocketMQ配置

    2020-02-03 00:00:54
    RocketMQ文档地址 RocketMQ概述 RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力 ...
  • Linux安装 RocketMQ 及使用

    千次阅读 2019-10-02 11:36:18
    一、Linux环境搭建 ...下载jdk 1.7.0_80 上传到linux ,必须64位,32位RocketMQ不支持 tar -zxvf jdk-7u80-linux-x64.tar.gz //解压 修改环境变量 vim /etc/profile export JAVA_HOME=/usr/local/jdk1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,361
精华内容 1,344
关键字:

linux关闭rocketmq

linux 订阅