linux下RocketMQ的安装和API调用中出现的问题的解决 MARK一下
下载和构建
配置环境变量
在/etc/profile最后添加
JAVA_HOME=/soft/jdk1.8.0_111
MAVEN_HOME=/soft/maven/apache-maven-3.5.3CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
export JAVA_HOME MAVEN_HOME CLASSPATH PATH export rocketmq=/soft/RocketMQ/rocketmq-rocketmq-all-4.2.0/distribution/target/apache-rocketmq
使变量生效
. /etc/profile
从 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip 下载 4.2.0 的源码版本,执行以下命令来解压4.2.0源码版本并构建二进制文件。
unzip rocketmq-all-4.2.0-source-release.zipcd rocketmq-all-4.2.0/mvn -Prelease-all -DskipTests clean install -U
构建成功
由于可能会提示内存不足
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
调整一下 /soft/RocketMQ/rocketmq-all-4.2.0/distribution/target/apache-rocketmq/bin目录下的
runbroker.sh 和 runserver.sh的参数
vi runbroker.sh/
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=256m"vi runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
进入到目录 :
cd distribution/target/apache-rocketmq/bin
这里需要构建一个存放log的目录 /soft/RocketMQ/rocketmqlogs
启动nameserver
nohup sh mqnamesrv >/soft/RocketMQ/rocketmqlogs/mqnamesrv.log 2>&1 &
启动broker
nohup sh mqbroker -n localhost:9876 >/soft/RocketMQ/rocketmqlogs/broker.log 2>&1 &
按照模版启动,模版的新建在文章最后,可以解决api连不上的问题
nohup sh mqbroker -c broker.p -n localhost:9876 >/soft/RocketMQ/rocketmqlogs/broker.log 2>&1 &
出现这样就是成功
发送和接收消息
在发送/接收消息之前,我们需要告诉客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量NAMESRV_ADDR
发送消息:
export NAMESRV_ADDR=localhost:9876sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
关闭服务器
sh bin/mqshutdown broker //停止 brokersh bin/mqshutdown namesrv //停止 nameserver
几个常用的命令
上面几个启动和关闭 name server 和 broker 的就不再说了,
查看集群情况 ./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
===================================================================
安装web可视化客户端
1.下载文件(/usr/local目录下)
https://github.com/apache/rocketmq-externals 地址下载并从本地上传到服务器
2.解压(/usr/local目录下)
yum install -y unzip zip 前提是:unzip解压文件无法使用
unzip rocketmq-externals-master.zip 解压文件
3.修改配置文件(usr/local/rocketmq-externals-master/目录下)
find -name application.properties 可以查看到两个文件都在rocketmq-console文件目录下
vim application.properties
rocketmq.config.namesrvAddr=192.168.143.128:9876(ip1:port;ip2:port)
4.编译(usr/local/rocketmq-externals-master/rocketmq-console/目录下)
mvn clean package -Dmaven.test.skip=true 如果失败多编译几次--可能是网络问题
编译成功后,在rocketmq-console目录下会生成一个目录:target目录,该目录下有启动rocketmq界面的jar文件
5.启动web(usr/local/rocketmq-externals-master/rocketmq-console/target目录下)
java -jar rocketmq-console-ng-1.0.0.jar 启动 ---当终端断了该服务就会停止
nohup java -jar rocketmq-console-ng-1.0.0.jar >>/soft/RocketMQ/rocketmqlogs/log.out 2>&1 &
后台启动 --当终端断了也不会停止服务
说明启动成功
http://192.168.143.128:8080
==================================================================
用java代码实现API的过程中需要注意的几个问题
1、出现connect to 172.17.42.1:10909 failed
原因分析:我第一次使用的是rocketmq-client-3.4.6,第二次使用的是rocketmq-client-3.5.7,都出现了这个问题。但是原来使用rocketmq-client-3.2.5却不会出现这个问题。
(1)目前这种写法Rocket默认开启了VIP通道,VIP通道端口为10911-2=10909。若Rocket服务器未启动端口10909,则报connect to <:10909> failed。
(2)解决方式:增加一行代码
producer.setVipChannelEnabled(false);
2、出现connect to 172.17.42.1:10911 failed
还是外网内网ip的问题
最后经过多方搜索,在官方的用户说明里看到下面的方法
在bin目录下面配置模版
修改后的broker.p文件
namesrvAddr=127.0.0.1:9876
brokerIP1=192.168.143.128
brokerName=localhost
brokerClusterName=DefaultCluster
brokerId=0
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
rejectTransactionMessage=false
fetchNamesrvAddrByAddressServer=false
storePathRootDir=/root/store
storePathCommitLog=/root/store/commitlog
flushIntervalCommitLog=1000
commitIntervalCommitLog=1000
flushCommitLogTimed=false
deleteWhen=04
fileReservedTime=72
maxTransferBytesOnMessageInMemory=262144
maxTransferCountOnMessageInMemory=32
maxTransferBytesOnMessageInDisk=65536
maxTransferCountOnMessageInDisk=8
accessMessageInMemoryMaxRatio=40
messageIndexEnable=true
messageIndexSafe=false
haMasterAddress=
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
cleanFileForciblyEnable=true
transientStorePoolEnable=false
启动broker的时候用规定的模版文件
nohup sh mqbroker -c broker.p -n localhost:9876 >/soft/RocketMQ/rocketmqlogs/broker.log 2>&1 &
转载于:https://blog.51cto.com/yushiwh/2118625
linux下RocketMQ的安装和API调用中出现的问题的解决 MARK一下相关推荐
- rocketmq linux环境下载地址,Linux下RocketMQ下载安装教程
一.下载 1.官网下载:下载地址 2.百度网盘下载:下载地址 提取码:0g5a java开发工具下载地址及安装教程大全,点这里. 更多深度技术文章,在这里. 二.安装及启动 1.将zip文件上传到li ...
- 机器学习-搭建环境-3:Linux下nvidia-docker的安装(在容器中使用GPU)
安装Nvida-docker: 参考按照官网的指导:https://github.com/NVIDIA/nvidia-docker If you are not using the official ...
- linux下编译libuv,linux下libuv库安装教程
下载并编译libuv libuv需要自己手动下载源码,并手动编译. 当前目录为:/home/xlz/test/github/,在后面,会用$PATH来代替,我的系统的Debian8,64bit. $g ...
- Linux下cacti的安装RedHat9,RedHat AS4
Linux下cacti的安装RedHat9,RedHat AS4 2007-12-22 21:47:28 Cacti安装手册 第一步. Cacti的架构 第三步. Cacti简介 ...
- linux下软件的安装[转]
linux下软件的安装 先来看看Linux软件扩展名.软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用:后缀为.deb是Debain Linux ...
- Linux下软件的安装与卸载
在Windows下安装软件时,只需运行软件的安装程序(setup.install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall.unware."卸载" ...
- Linux下网卡驱动安装及故障排除
Linux下网卡驱动安装及故障排除 赛迪网 2007-4-26 9:10:00文/forgiven 网卡是Linux服务器中最重要网络设备.据统计,Linux网络故障有35%在物理层.25%在数据链路 ...
- Linux 下sourcecode 包安装
Linux 下sourcecode 包安装 总共包含4步 虽然很简单,但是以前具体不知道每个干了什么,有什么用,真是感觉很懵,在此记一下. 1.cd source_dir && mkd ...
- Linux下Tomcat的安装部署
Linux下Tomcat的安装部署 一. linux下安装JDK1.6 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以 ...
最新文章
- 神策数据荣登 2020 IDC 中国 Fintech 50 强榜单
- 直播马上开始│走进腾讯云物联网
- BZOJ 2588: Spoj 10628. Count on a tree 树上跑主席树
- Java jdk中的部分工具javac javaw javaws javadoc javah javap jar jdb jps的作用
- vivoiqooz1鸿蒙系统,iQOOZ1评测:vivo新一代性价比神机
- 基础练习 FJ的字符串 递推 C++
- Aveva Marine 新建项目001
- 【洛谷习题】南蛮图腾
- hive学习08天-一次hvie面试题
- HTML5中的WebSocket
- bci测试如何整改_电源动态响应测试,什么样的波形算合格?
- PS修改图片局部颜色
- 统一社会信用代码校验和生成
- 传奇盗号木马清除手记(转)
- tokenizer.tokenize(), tokenizer.encode() , tokenizer.encode_plus() 方法介绍及其区别
- matlab syms类型,matlab中syms类型的转换
- 还在用纸质表进行设备巡检?
- 云南大学计算机在职硕士,云南大学信息学院硕士研究生教育
- 中国石油大学《输气管道设计与管理(含课程设计)》第二阶段在线作业
- 决策树--信息增益,信息增益比,Geni指数
热门文章
- 360互联网技术训练营第七期 - “遇见”PIKA
- redis 关系数据库怎么转换 和_redis高并发处理介绍
- revit模型怎么在手机上看_沙盘模型应该怎么看?一定要警惕这些问题
- no segments* file found in org.apache.lucene.store.SimpleFSDirectory
- Solaris11创建NFS服务
- 关于收集,标准化和集中化处理Golang日志的一些建议
- c语言计算成绩大于90为优秀,输入一个分数,如小于60分,则输出不及格;如大于60小于85,输出良好;85分以上则为优秀。 用c语言编写...
- 海量数据的topK问题
- G1垃圾收集器之RSet
- 遍历集合常见的两种方式