美文网首页
CentOS7下安装rocketmq

CentOS7下安装rocketmq

作者: imhjc | 来源:发表于2018-01-20 18:38 被阅读0次

    rocketmq依赖jdk。

    1、下载apache最新rocketmq二进制压缩文件

    下载地址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip

    下载命令:wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip

    2、解压安装

    解压命令:unzip -d /dirname rocketmq-all-4.2.0-bin-release.zip

    3、环境变量

    nameserver环境变量:vi /etc/profile

    添加:export NAMESRV_ADDR=127.0.0.1:9876

    4、启动

    bin目录,启动nameserver和broker:

    nohup sh mqnamesrv &

    nohup sh mqbroker -n localhost:9876 &

    查看进程:jps

    启动broker时会卡顿,因为虚拟机内存和broker配置内存跟不上。

    设置:给虚拟机预留1g的内存,这样启动时不太会卡:虚拟机设2g,nameserver和broker共用1g

    清理缓存:echo 3 > /proc/sys/vm/drop_caches

    5、启动失败

    查看启动日志:cat nohup.out

    启动失败: Native memory allocation (malloc) failed to allocate 8589934592 bytes for committing reserved memory.

    因为nameserver和broker的默认配置内存超过虚拟机的内存,需根据宿主机配置调整虚拟机内存,并调整nameserver和broker的默认内存配置。

    bin目录:

    vi runserver.sh 

    vi runbroker.sh

    修改结果:

    runserver.sh

    runbroker.sh

    6、启动成功后警告

    bin目录:

    vi mqadmin.xml  

    vi mqbroker.xml  

    vi mqnamesrv.xml  

    vi mqfiltersrv.xml

    删除红色部分:

    vi tools.cmd

    vi tools.sh

    vi ../benchmark/runclass.sh

    删除红色部分:

    7、查看日志

    启动成功后查看mq动态日志:

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

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

    8、调试过程中的问题

    代码是基于springboot的简单示例

    配置正确情况下,启动后尝试发布消息,仍报远程mq服务器topic不存在异常。

    检查linux防火墙:service firewalld status

    因centos7默认使用firewalld防火墙,而不是iptables,卸载firewalld,再安装iptables

    步骤:

    卸载firewalld:yum remove firewalld

    安装iptables:yum install iptables-services

    查看防火墙状态:service iptables status

    停止防火墙:service iptables stop

    启动防火墙:service iptables start

    设为开机不启动:systemctl disable iptables.service

    设为开机启动:systemctl enable iptables.service

    如果要开启防火墙,则需要开放特定端口,例:开放3306端口

    编辑:vi /etc/sysconfig/iptables

    添加配置:-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    重启防火墙使配置生效:systemctl restart iptables.service

    其它相关命令:

    查看防火墙规则:iptables -L

    清空防火墙规则:iptables -F

    保存使操作生效:/etc/sysconfig/iptables save

    停止防火墙:/etc/sysconfig/iptables stop

    9、关闭服务

    sh mqshutdown namesrv

    sh mqshutdown broker

    或者通过jps查看进程,使用kill -9 pid结束进程(有时会看不见进程,但是服务仍在运行,建议用mqshutdown关闭服务)。

    相关文章

      网友评论

          本文标题:CentOS7下安装rocketmq

          本文链接:https://www.haomeiwen.com/subject/qlptaxtx.html