网上关于rocketMq安装、集群配置的文章有很多,作为一个初学者,跟着网上的各种教程安装遇到了各种坑,可谓是一路坎坷。本文记录下rocketMq安装的完整过程。希望对你有一点帮助
安装rocketMq
基于MacOS10.14.6、jdk1.8
-
下载源码包
-
解压
unzip rocketmq-all-4.4.0-source-release.zip
项目构建
# 进入解压目录
cd rocketmq-all-4.4.0
# 构建项目
mvn -Prelease-all -DskipTests clean install -U
启动nameServer服务
(中间可能会出现问题,最后会介绍)
#1、 进入目标路径
cd distribution/target/apache-rocketmq
#2、修改nameServer启动内存大小、修改bin/runserver.sh文件
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#3、 启动服务
nohup ./bin/mqnamesrv &
# 查看nohup.out
tail -f nohup.out
# 出现The Name Server boot success. serializeType=JSON 表示启动成功
启动broker服务
# 1、 修改broker启动内存大小;修改bin/runbroker.sh文件
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
# 2、启动服务 -n指定nameserver地址,nameserver服务端口为9876, broker默认端口 10911
nohup ./bin/mqbroker -n localhost:9876 &
# 查看nohup.out
tail -f nohup.out
jps查看服务进程
验证
#1、设置名称服务地址
export NAMESRV_ADDR=localhost:9876
#2、投递消息
sh ./bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
#消费消息
sh ./bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
安装rocketMq可视化控制台
下载
项目构建
进入rocketmq-console目录下
# 项目构建
mvn clean package -Dmaven.test.skip=true
服务启动
# 根据自己jar版本修改启动命令
java -jar rocketmq-console-ng-2.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=127.0.0.1:9876
localhost:8080 访问控制台看看
常见问题
问题
- 启动时出现:Please set the JAVA_HOME variable in your environment, We need java(x64)
解决方法
1、找到已经安装好的 jdk 位置,通过命令:/usr/libexec/java_home
2、拿到 jdk 安装位置后,打开 .bash_profile
文件,通过命令:vim ~./bash_profile
注意:若没有
.bash_profile
文件,需要手动创建,创建命令为:touch ~./bash_profile
3.添加如下,jdk 位置更换成你的安装位置:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
4.使 bash_profile
生效:
source ~/.bash_profile
配置完成后,试试能不能正常启动 nohup ./bin/mqnamesrv &
如果启动不了
找到bin/runserver.sh和bin/runbroker.sh,做如下修改
5、修之后nameServer和broker应该就可以正常启动了
6、如果在"投递消息"的时候还出现Please set the JAVA_HOME variable in your environment, We need java(x64);
可以找到bin/tools.sh,把这个文件按上面做同样的修改即可
修改之后,应该没有什么问题了
原文地址