RocketMq单机部署

目录

一、安装jdk环境

二、RocketMQ服务

1、安装包下载

2、安装包部署

三、RocketMQ可视化界面


一、安装jdk环境

参考之前写的流程 linux-Centos-7-64位:1、 安装JAVA环境

二、RocketMQ服务

1、安装包下载

官网地址:下载 | RocketMQ

2、安装包部署

登录linux服务器,创建文件夹

#mkdri /usr/local/share/rocketmq

#cd /usr/local/share/rocketmq

上传对应的文件包,这边使用工具上传,方式按个人习惯

 

解压

# unzip rocketmq-all-5.3.0-bin-release.zip

进入目录并复制文件目录的路径

编辑环境配置

# vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk-1.8

export ROCKETMQ_HOME=/usr/local/share/rocketmq/rocketmq-all-5.3.0-bin-release

export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# nameserver注册中心可以配置多个;隔开

export NAMESRV_ADDR=127.0.0.1:9876

让环境变量生效

source /etc/profile

下面启动 nameserver注册中心 Broker

RcoketMQ默认预设的JVM内存是4G,也是RocketMQ的最佳配置,如果内存不够,需要修改下runserver.sh

# cd bin

# vim runserver.sh

改成 512m

启动 nameserver

# nohup ./mqnamesrv &

有时候可执行下面语句也一样, -n 后面的 IP 就是意思通过这个IP可以找到我的意思

# nohup ./mqnamesrv -n 127.0.0.1:9876 &

最好创建指定日志位置,不然下次执行 nohup,日志 nohup.out 会被覆盖

# mkdir /usr/local/share/rocketmq/rocketmq-all-5.3.0-bin-release/logs

# nohup ./mqnamesrv > /usr/local/share/rocketmq/rocketmq-all-5.3.0-bin-release/logs/namesrv.log 2>&1 &

启动后,查看日志

#tail –f ../logs/namesrv.log

关闭nameserver两种方式

a、先查找,后通过命令 kill

# ps -ef|grep mp

#kill -9 10666

b、脚本关闭

# ./mqshutdown namesrv

 启动 Broker 服务

Broker 脚本是runbroker.sh  默认预设内存是8G 修改为512m

#vim runbroker.sh

另外还需要修改 Broker 的配置文件

# cd ../conf

# vim broker.conf

# 集群名称

brokerClusterName = DefaultCluster

# Broker名称,集群内位移

brokerName = broker-a

# Broker ID, 0 表示主节点

brokerId = 0

# 删除过期文件的时间(每天凌晨4点)

deleteWhen = 04

# 文件保留时间(小时)

fileReservedTime = 48

# Broker角色(异步主节点)

brokerRole = ASYNC_MASTER

# 异步刷盘模式

flushDiskType = ASYNC_FLUSH

# 允许自动创建 Topic

autoCreateTopicEnable=true

# NameServer 地址,多个地址用分号分隔

namesrvAddr=127.0.0.1:9876

# 启用 ACL  这样就需要配置plain_acl.yml

#aclEnable=true

#这是启用 SQL92 过滤的关键配置

enablePropertyFilter=true

 指定配置文件启动  其实不指定好像默认也是用的这个配置

#cd ../bin

# nohup ./mqbroker -c ../conf/broker.conf &

或是下面命令,意思这个Broker注册到本机的9876端口的nameserver上面,其实-c ../conf/broker.conf可以不指定  默认就是  如果是集群 IP就是可以访问到nameserver的IP

#nohup ./mqbroker -c ../conf/broker.conf  -n 127.0.0.1:9876 &

最好创建指定日志位置,不然下次执行 nohup,日志 nohup.out 会被覆盖

#nohup ./mqbroker -c ../conf/broker.conf > /usr/local/share/rocketmq/rocketmq-all-5.3.0-bin-release/logs/broker.log 2>&1 &

查看日志

#tail -f ../logs/broker.log

测试MQ发送消息

需要指定nameserver地址,可先执行命令

#export NAMESRV_ADDR='127.0.0.1:9876'

测试发送,会发送1000条数据

#./tools.sh org.apache.rocketmq.example.quickstart.Producer

 发送成功。

如果提示 ‘Cannot allocate memory’ 表示内存不足,可将命令修改为

# ./tools.sh -Xms256m -Xmx256m org.apache.rocketmq.example.quickstart.Producer

测试接收消息

#./tools.sh org.apache.rocketmq.example.quickstart.Consumer

如果也是报内存不足,同生产者命令一样处理

这里不做ACL访问白名单限制,有需要可参考原文章链接

截止到此,rocketmq功能基本可用了。

三、RocketMQ可视化界面

拉取下载最新的可视化界面代码:rocketmq-dashboard 

可使用idea打成 jar包

或是 使用window命令行打包

#mvn clean package -DskipTests=true

现在服务器创建目录

#mkdir /usr/local/share/rocketmq/rocketmq-console

#cd /usr/local/share/rocketmq/rocketmq-console

然后将 jar 包和项目resources下的 application.yml 一起上传到服务器

application.yml 外置、后面同命令一起启动,方面后期修改

修改配置文件

#vim application.yml

编写个启动脚本 start.sh

#vim start.sh

#!/bin/bash

# 设置应用程序的端口

PORT=9080

# 检查应用程序是否已经在运行

if netstat -tuln | grep ":$PORT " > /dev/null; then

  echo "Error: 应用程序已经在端口 $PORT 上运行."

  exit 1

fi

# 启动 Jar 包

nohup java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar application.yml  > logs/app.log 2>&1 &

echo "应用程序已成功启动."

编写停止脚本

#vim stop.sh

 

#!/bin/bash

# 设置应用程序的端口

PORT=9080

# 检查应用程序是否在运行

if ! netstat -tuln | grep ":$PORT " > /dev/null; then

  echo "Error: 应用程序未在端口 $PORT 上运行."

  exit 1

fi

# 获取应用程序的 PID

PID=$(netstat -tuln | grep ":$PORT " | awk '{print \$7}' | awk -F '/' '{print \$1}')

# 杀死应用程序的进程

kill -9 $PID

echo "应用程序已成功关闭."

赋予脚本执行权限

#chmod +x start.sh stop.sh

创建 logs 目录

#mkdir logs

 启动

#sh start.sh

浏览器访问:  http://192.168.152.130:9080/

暂停

#sh stop.sh

参考文章:

 RocketMQ安装(单机)

 RocketMQ可视化界面安装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值