RocketMQ实战教程之RocketMQ安装(含Docker安装,建议收藏!)

RocketMQ实战教程之RocketMQ安装

这里实例采用centos系统天翼云为例,分别采用传统安装以及Docker安装的方式来进行RocketMQ的安装.JDK8我这边已经安装配置好了,这里就不在赘述.直接进入正题:

传统安装包安装

系统要求

快速安装

  • 下载RocketMQ安装包上传到虚拟机、服务器上


  • 安装unzip: yum install unzip -y


  • 使用该命令: unzip rocketmq-all-5.2.0-bin-release.zip 进行安装

1、启动NameServer 安装完RocketMQ包后,我们启动NameServer

shell 复制代码
### 后台启动namesrv(这里建议前台启动方便看日志报错信息)
$ nohup sh bin/mqnamesrv &
 
### 验证namesrv是否启动成功
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...

前台启动可以直接看到日志打印成功的信息,后台启动比较麻烦(学习比较方便)

2、启动Broker+Proxy

shell 复制代码
### 先启动broker指定nameServer的ip端口
$ nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &

### 验证broker是否启动成功, 比如, broker的ip是192.168.1.2 然后名字是broker-a
$ tail -f ~/logs/rocketmqlogs/proxy.log 
The broker[broker-a,192.169.1.2:10911] boot success...

注意:

我这边自己测试时没有出现以下问题,可能是修复了简单的说就是没有报错.

  1. 启动出现错误:
  • Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
  • Error: Could not create the Java Virtual Machine.
  • Error: A fatal exception has occurred. Program will exit.
  • 解决方案如下: vim runbroker.sh
  1. 启动出现错误:
  • Java HotSpot™ 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
  • 解决方案如下: vim runbroker.sh

工具测试消息收发

在进行工具测试消息收发之前,我们需要告诉客户端NameServer的地址,RocketMQ有多种方式在客户端中设置NameServer地址,这里我们利用环境变量NAMESRV_ADDR

shell 复制代码
export NAMESRV_ADDR=localhost:9876

###生产者发送消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

###消费者消费消息
export NAMESRV_ADDR=localhost:9876
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

可以通过先启动消费者,然后再启动生产者发送消息.就可以看到消费者消费的信息

Docker方式安装

由于我自己的服务器之前装过docker了,这里就不展示具体细节截图了,跟着命令安装docker & docker-compose即可

安装 docker & docker-compose
shell 复制代码
# 安装 docker
# 从docker官网下载安装docker脚本
$ curl -fsSL get.docker.com -o get-docker.sh
# 使用root用户执行脚本指定阿里云镜像
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud

# 启动 docker
$ sudo systemctl enable docker
$ sudo systemctl start docker

# 安装 docker-compose github 下载: https://github.com/docker/compose/releases
$ sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 国内用户可以使用以下方式加快下载
$ sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 修改权限
$ sudo chmod +x /usr/local/bin/docker-compose
docker-compose.yaml
yaml 复制代码
version: '3'
services:
  namesrv:
    image: apache/rocketmq:5.2.0
    container_name: rmqnamesrv
    ports:
      - "9876:9876"
    command: sh mqnamesrv
    environment:
      - JAVA_OPT_EXT=-Xms128m -Xmx128m -Xmn128m

  broker:
    image: apache/rocketmq:5.2.0
    container_name: rmqbroker
    ports:
      - "10909:10909"
      - "10911:10911"
    depends_on:
      - namesrv
    command: sh mqbroker -n namesrv:9876
    environment:
      - JAVA_OPT_EXT=-Xms128m -Xmx128m -Xmn128m
      - BROKER_ID=0
      - AUTO_CREATE_TOPIC_ENABLE=true
      - AUTO_CREATE_SUBSCRIPTION_GROUP=true
shell 复制代码
# 启动
$ docker-compose up -d
相关推荐
March.s15 分钟前
Kubernetes 控制器深度指南:从 ReplicaSet 到 DaemonSet
云原生·容器·kubernetes
你看我名字25 分钟前
Kubernetes HPA 自动扩缩容详解:指标、策略、资源与常见故障
云原生·容器·kubernetes
一级新生1 小时前
Dify 日常使用手册(小白版)
人工智能·docker·云原生·eureka·dify·ai工具
jyOverQ1 小时前
从零开始学 RocketMQ(四):集群部署、消息存储与高可用【保姆级教程】
java·rocketmq·java-rocketmq
YuanDaima20481 小时前
系统架构与数据库理论基础:PostgreSQL 与 pgvector
数据库·人工智能·docker·postgresql·系统架构·产品经理
程序员老赵16 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源
m0_6174939420 小时前
昇腾 NPU Docker 部署实战:解决 stub library 报错并实现模型正常加载
运维·docker·容器
xixiaoyunya21 小时前
Docker 常用命令与实战:从入门到部署一个简单应用
docker·容器·eureka
吴声子夜歌21 小时前
Docker入门与实战——Docker Swarm模式(跨主机容器集群管理)
docker
flytalei1 天前
GitOps 实战:基于 Argo CD 的 Kubernetes 应用版本回滚
云原生·容器·kubernetes