在CentOS7上安装RocketMQ 4.8.0
安装过程
服务器上已经安装了OpenJDK 8
,并设置了JAVA_HOME
。
下载和解压RocketMQ
在RocketMQ
官网上找到下载RocketMQ4.8.0的链接,下载和解压RocketMQ
:
下载
wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip
解压
unzip rocketmq-all-4.8.0-bin-release.zip
安装到/usr/local/rocketmq
mv rocketmq-all-4.8.0-bin-release /usr/local
ln -s /usr/local/rocketmq-all-4.8.0-bin-release /usr/local/rocketmq
调低RocketMQ的JVM大小
RocketMQ的默认JVM太大,不适合在开发测试环境中使用,需要调低JVM大小。
在RocketMQ的安装目录(本例为/usr/local/rocketmq),查找sh脚本中的JVM参数设置:
find . -name '*.sh' | xargs egrep 'Xms'
需要修改以下sh脚本的JVM参数:
bin/runserver.sh
bin/runbroker.sh
bin/tools.sh
修改前记得先备份相应脚本,具体JVM大小根据实际情况设定。
- bin/runserver.sh
修改前:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改后:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
- bin/runserver.sh
修改前:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改后:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
- bin/tools.sh
- 修改前:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
修改后:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
启动Name Server
后台启动
nohup sh bin/mqnamesrv >/dev/null 2>&1 &
Name Server的默认端口为9876,运行sh bin/mqnamesrv -p
可查看Name Server的配置项,并可通过-c namesrv.conf方式指定配置文件启动;
RocketMQ的默认日志路径为~/logs/rocketmqlogs/
;
可以将启动Name Server命令保存为脚本,以方便下次启动。
启动Broker
启动Broker时需要指定要连接的Name Server:
后台启动
nohup sh bin/mqbroker -n localhost:9876 >/dev/null 2>&1 &
可以将启动Broker命令保存为脚本,以方便下次启动。
查看RocketMQ进程
ps -ef | grep -v grep | grep rocketmq
测试RocketMQ
测试发送消息和接收消息
使用RocketMQ自带的消息生产者和消费者示例来测试发送消息和接收消息:
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
关闭RocketMQ
关闭Broker
sh bin/mqshutdown broker
可以将关闭Broker命令保存为脚本,以方便下次关闭。
关闭Name Server
sh bin/mqshutdown namesrv
关闭Name Server前需要先关闭Broker;
可以将关闭Name Server命令保存为脚本,以方便下次关闭。
- 修改Name Server的端口
RocketMQ Name Server的默认端口为9876,可以通过以下方法修改Name Server的端口:
新增一个Name Server配置文件namesrv.conf
,保存内容为:
listenPort=10076
- 启动Name Server时指定配置文件:
nohup sh bin/mqnamesrv -c namesrv.conf >/dev/null 2>&1 &
- 查看RocketMQ进程:
ps -ef | grep rocketmq
- 查看RocketMQ Name Server的端口号:
netstat -tnlp | grep <nameserver_pid>
- 修改后Broker需要指定新的Name Server地址(端口)。
安装RocketMQ控制台
克隆rocketmq-externals 项目,并编译rocketmq-console。
命令示例:
git clone https://github.com/apache/rocketmq-externals.git
cd rocketmq-externals/rocketmq-console
mvn clean package -Dmaven.test.skip=true
将target/rocketmq-console-ng*.jar放到和RocketMQ安装目录(本例为/usr/local/rocketmq)下。
在RocketMQ安装目录下新建一个启动RocketMQ控制台的脚本来启动RocketMQ控制台:
nohup java -jar rocketmq-console-ng*.jar --server.port=8080 --rocketmq.config.namesrvAddr=localhost:9876 > /dev/null 2>&1 &
默认RocketMQ控制台不需要密码登录,请参考RocketMQ使用文档 进行配置。
参考:
https://github.com/apache/rocketmq-externals
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console
其他问题
问题1: 启动Name Server和Broker,或测试时报错Please set the JAVA_HOME variable in your environment, We need java(x64)!但是系统已经安装了OpenJDK8,并且已经设置了JAVA_HOME。
解决方法: 运行which java来查看java的路径,比如为/usr/bin/java。
修改bin/runserver.sh和bin/runbroker.sh和bin/tools.sh,注释掉校验JAVA_HOME语句,并明确指定JAVA路径:
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
#[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
#[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
#export JAVA_HOME
export JAVA="/usr/bin/java"
在CentOS7上安装RocketMQ 4.8.0相关推荐
- centos7 sh 注释_在CentOS7上安装RocketMQ 4.7.1
前言 阿里的fastjson的低版本(<=1.2.68)被爆出有安全漏洞,而RocketMQ 4.7.0使用了fastjson 1.2.62,因此需要将RocketMQ升级到 RocketMQ ...
- 从0开始CentOS7上安装ELK,实现日志收集
从0开始CentOS7上安装ELK实现日志收集 1. ELK Stack 简介 2. 组件下载 2.1 安装环境及版本 2.2 下载安装包 3.安装 3.1 ElasticSearch安装 3.1.1 ...
- Centos7上安装oracle11g/12c的安装教程推荐及注意事项
Centos7上安装oracle11g的安装教程推荐及注意事项 历时一天半,终于在今天中午安装完oracle11g,成功后喜悦的心情自是溢于言表.总有些疑问,比如为何如此复杂的数据库为何还会有如此之多 ...
- Centos7 上安装 mysql5.7
Centos7 上安装 mysql5.7 **文章没有图片效果,想看带图片的到文章末尾加我微信公众号,搜索标题就能看到了** 文章没有图片效果,想看带图片的到文章末尾加我微信公众号,搜索标题就能看 ...
- 在 CentOS7 上安装 MySQL5.7
在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创 ...
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- 在centOS7中装mysql_在 CentOS7 上安装 MySQL5.7
在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...
- CentOS7 上安装 Zookeeper-3.4.9 服务
在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/ser ...
- centos akonadi mysql,MySQL数据库之在CentOS7上安装MySQL5.7
本文主要向大家介绍了MySQL数据库之在CentOS7上安装MySQL5.7 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 获取RPM包 # wget https://dev. ...
最新文章
- Vue打包之后会出现.map文件用处
- 饭后半小时养胃黄金期
- python接口测试框架设计_Python3简易接口自动化测试框架设计与实现(中)
- 6、ShardingSphere 之 读写分离
- 一文搞懂临床研究常见类型
- mysql+sqlplus命令找不到_bash: sqlplus: command not found 解决方法
- tecplot对数坐标轴怎么画_一次更换双速风机接线经历,想通了改变磁极对数原理...
- python django mysql_python测试开发django-10.django连接mysql
- docker 服务器重启 镜像丢失_将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定...
- 高通camx clock配置
- 迅捷PDF转换器特点和使用步骤
- MATLAB 创建function函数,主程序打不开function函数所在的.m文件怎么办?
- MACHINE LEARNING ----BY HUNGYILEE (love u)
- 【宝藏系列】如何解决word选中文字按backspace无法删除的问题
- 极案例 | 守护地铁运营“生命线”,极视角与深圳地铁运管办共建“AI智能巡检系统”
- 基于Android的共享单车系统的设计与应用
- 台达PLC出现故障该怎么进行远程维护和程序上下载?
- 龙芯中科科创板上市:市值357亿 成国产CPU第一股
- 压缩算法gorilla paper encoding原理
- MIT Artificial Intelligence —— Patrick H. Winston 麻省理工人工智能公开课学习笔记(一)
热门文章
- Redis中的事务和watch(乐观锁)
- 用代码证明自己闲的蛋疼(三)——回溯法做数独
- LeetCode 459. Repeated Substring Pattern
- django-csrftoken跨站请求伪造
- javascript-练习-数组数据存li中
- 实实在在做一位教书匠(来自网络)
- 用最科学的方法展示最形象的图表——前段数据可视化选型实践
- TCP连接(Time_Wait、Close_Wait)说明
- 本地页面存1天的缓存
- 谷歌 Chrome Dev Tools 浅析 – 成为更高效的 Developer