Linux安装RocketMQ4.x
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装
1、准备如下环境:
centos7.9 2核4G以上
jdk1.8
maven3.2.x
下载安装包:http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
2、安装
#解压缩
unzip rocketmq-all-4.9.3-source-release.zip
#安装该项目所有的依赖包
cd /usr/local/rocketmq-all-4.9.3/distribution/target/rocketmq-4.9.3/rocketmq-4.9.3
mvn -Prelease-all -DskipTests clean install -U
二、启动
1.启动NameServer
nohup sh bin/mqnamesrv &
成功:查看日志 tail -f nohup.out (结尾:The Name Server boot success. serializeType=JSON 表示启动成功)
2.启动broker
启动Broker(-n指定nameserver地址,nameserver服务端口为9876, broker默认端口 10911):
启动命令:nohup sh bin/mqbroker -n localhost:9876 -c ./conf/broker.conf &
原因:阿里云存在多网卡,rocketmq都会根据当前网卡选择一个IP使用,当你的机器有多块网卡时,很有可能会有问题。比如,我遇到的问题是我机器上有两个IP,一个公网IP,一个私网IP, 因此需要配置broker.conf 指定当前的公网ip, 然后重新启动broker
新增配置:conf/broker.conf (属性名称brokerIP1=broker所在的公网ip地址 )
新增这个配置:brokerIP1=120.76.62.13
3.关闭nameserver broker执行的命令
#先关闭broker
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
4.使用jps查看进程
三、验证是否成功
#进入目录
cd /usr/local/rocketmq-all-4.9.3/distribution/target/rocketmq-4.9.3/rocketmq-4.9.3
#设置名称服务地址
export NAMESRV_ADDR=localhost:9876
#投递消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
#消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_please_rename_unique_group_name_4_3 Receive New Messages: [MessageExt······
常见错误
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allo
cate memory' (errno=12)#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/rocketmq-all-4.9.3/distribution/target/rocketmq-4.9.3/rocketmq-4.9.3/hs_err_pid16326.log
[1]+ Exit 137 nohup sh bin/mqnamesrv
1.NameServer内存不够
编辑 bin/runserver.sh:
vi /uar/local/rocketmq-all-4.9.3/distribution/target/rocketmq-4.9.3/rocketmq-4.9.3/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m - Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
2.Broker内存不足
编辑 runbroker.sh
vi /uar/local/rocketmq-all-4.9.3/distribution/target/rocketmq-4.9.3/rocketmq-4.9.3/bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"