安装过程

服务器上已经安装了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命令保存为脚本,以方便下次关闭。

  1. 修改Name Server的端口

RocketMQ Name Server的默认端口为9876,可以通过以下方法修改Name Server的端口:

新增一个Name Server配置文件namesrv.conf,保存内容为:

listenPort=10076
  1. 启动Name Server时指定配置文件:
nohup sh bin/mqnamesrv -c namesrv.conf >/dev/null 2>&1 &
  1. 查看RocketMQ进程:
ps -ef | grep rocketmq
  1. 查看RocketMQ Name Server的端口号:
netstat -tnlp | grep <nameserver_pid>
  1. 修改后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相关推荐

  1. centos7 sh 注释_在CentOS7上安装RocketMQ 4.7.1

    前言 阿里的fastjson的低版本(<=1.2.68)被爆出有安全漏洞,而RocketMQ 4.7.0使用了fastjson 1.2.62,因此需要将RocketMQ升级到 RocketMQ ...

  2. 从0开始CentOS7上安装ELK,实现日志收集

    从0开始CentOS7上安装ELK实现日志收集 1. ELK Stack 简介 2. 组件下载 2.1 安装环境及版本 2.2 下载安装包 3.安装 3.1 ElasticSearch安装 3.1.1 ...

  3. Centos7上安装oracle11g/12c的安装教程推荐及注意事项

    Centos7上安装oracle11g的安装教程推荐及注意事项 历时一天半,终于在今天中午安装完oracle11g,成功后喜悦的心情自是溢于言表.总有些疑问,比如为何如此复杂的数据库为何还会有如此之多 ...

  4. Centos7 上安装 mysql5.7

    Centos7 上安装 mysql5.7 **文章没有图片效果,想看带图片的到文章末尾加我微信公众号,搜索标题就能看到了** ​ 文章没有图片效果,想看带图片的到文章末尾加我微信公众号,搜索标题就能看 ...

  5. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中:  cd /usr/local/ 3 创 ...

  6. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  7. 在centOS7中装mysql_在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  8. CentOS7 上安装 Zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹:     mkdir -p /usr/local/ser ...

  9. centos akonadi mysql,MySQL数据库之在CentOS7上安装MySQL5.7

    本文主要向大家介绍了MySQL数据库之在CentOS7上安装MySQL5.7 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 获取RPM包 # wget https://dev. ...

最新文章

  1. Vue打包之后会出现.map文件用处
  2. 饭后半小时养胃黄金期
  3. python接口测试框架设计_Python3简易接口自动化测试框架设计与实现(中)
  4. 6、ShardingSphere 之 读写分离
  5. 一文搞懂临床研究常见类型
  6. mysql+sqlplus命令找不到_bash: sqlplus: command not found 解决方法
  7. tecplot对数坐标轴怎么画_一次更换双速风机接线经历,想通了改变磁极对数原理...
  8. python django mysql_python测试开发django-10.django连接mysql
  9. docker 服务器重启 镜像丢失_将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定...
  10. 高通camx clock配置
  11. 迅捷PDF转换器特点和使用步骤
  12. MATLAB 创建function函数,主程序打不开function函数所在的.m文件怎么办?
  13. MACHINE LEARNING ----BY HUNGYILEE (love u)
  14. 【宝藏系列】如何解决word选中文字按backspace无法删除的问题
  15. 极案例 | 守护地铁运营“生命线”,极视角与深圳地铁运管办共建“AI智能巡检系统”
  16. 基于Android的共享单车系统的设计与应用
  17. 台达PLC出现故障该怎么进行远程维护和程序上下载?
  18. 龙芯中科科创板上市:市值357亿 成国产CPU第一股
  19. 压缩算法gorilla paper encoding原理
  20. MIT Artificial Intelligence —— Patrick H. Winston 麻省理工人工智能公开课学习笔记(一)

热门文章

  1. Redis中的事务和watch(乐观锁)
  2. 用代码证明自己闲的蛋疼(三)——回溯法做数独
  3. LeetCode 459. Repeated Substring Pattern
  4. django-csrftoken跨站请求伪造
  5. javascript-练习-数组数据存li中
  6. 实实在在做一位教书匠(来自网络)
  7. 用最科学的方法展示最形象的图表——前段数据可视化选型实践
  8. TCP连接(Time_Wait、Close_Wait)说明
  9. 本地页面存1天的缓存
  10. 谷歌 Chrome Dev Tools 浅析 – 成为更高效的 Developer