分享

RocketMQ在Linux中安装启动

 行者花雕 2021-05-19

RocketMQ:

RocketMQ是阿里开源的一款非常优秀中间件产品,脱胎于阿里的另一款队列技术MetaQ,后捐赠给Apache基金会作为一款孵化技术,仅仅经历了一年多的时间就成为Apache基金会的顶级项目。

RocketMQ:java语言实现,十万级数据吞吐量,处理速度ms级,分布式架构,功能强大,扩展性强。

RocketMQ在Linux中安装:

RocketMQ是基于java开发的,运行使用需要有JDK环境,所以首先要在Linux中安装JDK(以JDK8为例)。

安装与RocketMQ对应的JDK之前需要将Linux操作系统默认安装的OpendJDK删除:

# 查看
rpm -qa | grep java
# 删除(把上一个命令看到的所有的jdk文件 用 如下命令删除)
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el7_7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.241-2.6.20.0.el7_7.x86_64
rmp -e --nodeps java-1.7.0-openjdk-1.7.0.241-2.6.20.0.el7_7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.241-2.6.20.0.el7_7.x86_64

  将默认安装的OpenedJDK删除后,导入JDK8的压缩包:

#1,解压 jdk
tar -zxvf jdk-8u171-linux-x64.tar.gz
#2,配置环境变量
vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_171
export PATH=$PATH:${JAVA_HOME}/bin
#3,重新加载配置
source /etc/profile
#4,查看jdk是否配置成功
java -version

  JDK安装并且配置完成后,导入对应的RocketMQ压缩包:

#解压缩即可
unzip rocketmq-all-4.5.2-bin-release.zip

  RocketMQ启动:

#步骤1:启动命名服务器(bin目录下)
sh mqnamesrv
#步骤2:启动消息服务器(bin目录下)
sh mqbroker -n localhost:9876

  运行rockmq时,若出现There is insufficient memory for the Java Runtime Environment,类似报错信息需要修改bin目录下的 runbroker.sh、runserver.sh、tools.sh文件内的配置信息即可:

#修改指令(在bin目录下)
vim runbroker.sh
#将内存配置修改即可
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#修改后
JAVA_OPT="${JAVA_OPT} -server -Xms256 -Xmx256 -Xmn128"

  测试服务器环境:

#步骤1:配置命名服务器地址
export NAMESRV_ADDR=localhost:9876
#步骤2:启动生产者程序客户端(bin目录下)
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
#启动后产生大量日志信息(注意该信息是测试程序中自带的,不具有通用性,仅供学习查阅参考)
#步骤3:启动消费者程序客户端(bin目录下)
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

  远程调用时(代码运行)出现RemotingTooMuchRequestException: sendDefaultImpl call timeou错误,需要在conf目录下broker.conf文件中添加如下配置:

#配置自己Linux的ip
brokerIP1 = 192.168.1.1

  修改配置文件后,在mqbroker启动时,指定配置文件启动,例如:

#在bin目录下-n ip -c 配置文件路径
sh mqbroker -n 192.168.1.1:9876 -c ../conf/broker.conf 

   若还是报错检查防火墙是否关闭

# 关闭防火墙
systemctl stop firewalld.service 
# 查看防火墙的状态
firewall-cmd --state 
# 禁止firewall开机启动
systemctl disable firewalld.service

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多