
注:安装rocketMQ的前提是已经安装jdk和maven
官网:Apache Downloads

可以下载之后通过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
进入到目录:
# cd distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/
启动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 &

启动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 &

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

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

由于我的环境跑在虚拟机中配置比较低,所以在启动日志中,报了Cannot allocate memory内存不足的错,解决办法(修改target下的配置文件记得在每次maven构建的时候再修改一次(可能你安装完就不会再构建一次了),或者直接修改/distribution/bin目录下的文件):
vi runserver.sh
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"

vi runbroker.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=256m"

vi tools.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"

#在发送/接收消息之前,我们需要告知客户名称服务器的位置。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
# 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 路由
# docker pull apacherocketmq/rocketmq-dashboard:latest
# 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;
下载源码:https://github.com/apache/rocketmq-dashboard
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

查看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
第一,由于rocketMQ安装在另一台机器上,所以需要开放9876端口;
# firewall-cmd --query-port=9876/tcp
# firewall-cmd --zone=public --add-port=9876/tcp --permanent
# systemctl restart firewalld
开放之后还是不行,进入控制台查看集群:

# firewall-cmd --query-port=10911/tcp# firewall-cmd --zone=public --add-port=10911/tcp --permanent# systemctl restart firewalld