美文网首页
linux CentOS8安装RocketMQ

linux CentOS8安装RocketMQ

作者: 愤怒的阿昆达 | 来源:发表于2021-11-24 08:56 被阅读0次

注:安装rocketMQ的前提是已经安装jdk和maven

下载、解压:

官网:Apache Downloads

image.png

可以下载之后通过Xftp上传到服务器上解压,也可以直接通过下面命令直接下载source资源:
# wget https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-source-release.zip
解压:
# unzip rocketmq-all-4.9.2-source-release.zip

安装:

进入解压完的文件夹内,构建二进制文件:
# cd rocketmq-all-4.9.2/
# mvn -Prelease-all -DskipTests clean install -U

启动:

  1. 进入到目录:
    # cd distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/

  2. 启动NameServer:
    使用nohup命令启动(命令的意思可以自己百度),指定一个NameServer启动日志的输出目录,这个目录地址可以自己指定,全路径就可以
    # mkdir /opt/software/rocketmq-all-4.9.2/distribution/bin/logs
    # mkdir /opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs
    # nohup sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/mqnamesrv >/opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqnamesrv.log 2>&1 &

    image.png
  3. 启动broker:
    # nohup sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/mqbroker >/opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqbroker.log 2>&1 &

    image.png
  4. 看启动日志:
    # cat /opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqnamesrv.log

    image.png

# cat /opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqbroker.log

image.png

由于我的环境跑在虚拟机中配置比较低,所以在启动日志中,报了Cannot allocate memory内存不足的错,解决办法(修改target下的配置文件记得在每次maven构建的时候再修改一次(可能你安装完就不会再构建一次了),或者直接修改/distribution/bin目录下的文件):

vi runserver.sh
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
image.png
vi runbroker.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=256m"
image.png
vi tools.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
image.png
  1. 测试:
#在发送/接收消息之前,我们需要告诉客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量NAMESRV_ADDR
export NAMESRV_ADDR=localhost:9876
#发送消息
sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
#接收消息
sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

附1:RocketMQ常用命令:

# cd /opt/software/rocketmq-all-4.9.2/distribution/

sh bin/mqshutdown broker    //停止 broker
sh bin/mqshutdown namesrv   //停止 nameserver
./mqadmin clusterList -n 127.0.0.1:9876 #查看集群情况
./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911 #查看 broker 状态  (注意换成你的 broker 地址)
./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 #查看 topic 路由 

附2:rocketMQ安装启动可视化控制台(rocketmq-dashboard):

一、docker方式:
  1. 用docker拉取镜像:
    # docker pull apacherocketmq/rocketmq-dashboard:latest
  2. 启动(使用自己的rocketmq.namesrv.addr and port):
    # docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.18.124:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest
二、编译源码方式:

前置环境:
64bit OS, Linux/Unix/Mac is recommended;
64bit JDK 1.8+;
Maven 3.2.x;

  1. 下载源码:https://github.com/apache/rocketmq-dashboard

  2. Maven spring-boot 方式启动:
    # mvn spring-boot:run
    或者
    使用Maven先build成jar包,再java -jar方式启动:
    # mvn clean package -Dmaven.test.skip=true
    # java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar

访问控制台:http://192.168.18.124:8080
image.png
附:防火墙开放8080端口

查看8080端口状态
# firewall-cmd --query-port=8080/tcp
开放8080端口对外
# firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙生效
# systemctl restart firewalld

参考:https://github.com/apache/rocketmq-dashboard

常见问题:

1. 本地生产者服务debug时,发送消息超时问题。

首先,因为rocketMQ安装在另一台机器上,所以需要开放9876端口;
# firewall-cmd --query-port=9876/tcp
# firewall-cmd --zone=public --add-port=9876/tcp --permanent
# systemctl restart firewalld
开放之后还是不行,进入控制台查看集群:

image.png
192.168.18.124:10911这个地址也要开放,本地才能连得上,所以:
# firewall-cmd --query-port=10911/tcp
# firewall-cmd --zone=public --add-port=10911/tcp --permanent
# systemctl restart firewalld
2. xxx。

相关文章

  • linux CentOS8安装RocketMQ

    注:安装rocketMQ的前提是已经安装jdk和maven 下载、解压: 官网:Apache Downloads[...

  • Nginx+keepalived+Nacos+Redis高可用

    环境安装 基于Linux Centos8、Docker、Docker Compose实现技术验证。 Docker ...

  • Linux安装RocketMQ

    本文介绍Linux安装RocketMQ。 1.RocketMQ简介 RocketMQ是阿里巴巴中间件开发的分布式消...

  • Rocket搭建及刨坑

    RocketMQ安装 安装条件 Linux服务器 maven JAVA环境配置 git(使用git安装的情况下) ...

  • linux安装rocketmq

    安装 unzip rocketmq-all-4.7.0-bin-release.zipmv rocketmq-al...

  • Linux安装RocketMQ

    上传RocketMQ安装包rocketmq-all-4.6.0-bin-release 1.解压配置文件 unzi...

  • Linux 安装 RocketMQ

    本文为学习笔记 来自蚂蚁课堂RocketMQ设计原理链接:http://www.mayikt.com/front/...

  • rocketmq-console安装

    参考LINUX环境下安装ROCKETMQ-CONSOLE监控平台[https://www.freesion.com...

  • rocketmq

    单机rocketmq一、安装jdk二、安装rocketmq RocketMQ namesrv 启动 RocketM...

  • RocketMQ安装

    1 RocketMQ安装 1.1 RocketMQ下载 1.2 安装 1.2.1 解压rocketmq 1.2.2...

网友评论

      本文标题:linux CentOS8安装RocketMQ

      本文链接:https://www.haomeiwen.com/subject/whywtrtx.html