RocketMQ runs on all major operating systems and requires only a Java JDK version 8 or higher to be installed. To check, run java -version
:
$ java -version java version "1.8.0_121"
For Windows users, click here to download the 4.9.3 RocketMQ binary release, unpack it to your local disk, such as D:\rocketmq
. For macOS and Linux users, execute following commands:
# Download release from the Apache mirror $ wget https://archive.apache.org/dist/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zip # Unpack the release $ unzip rocketmq-all-4.9.3-bin-release.zip
Prepare a terminal and change to the extracted bin
directory:
$ cd rocketmq-4.9.3/bin
1) Start NameServer
NameServer will be listening at 0.0.0.0:9876
, make sure that the port is not used by others on the local machine, and then do as follows.
For macOS and Linux users:
### start Name Server $ nohup sh mqnamesrv & ### check whether Name Server is successfully started $ tail -f ~/logs/rocketmqlogs/namesrv.log The Name Server boot success...
For Windows users, you need set environment variables first:
ROCKETMQ_HOME="D:\rocketmq"
.Then change directory to rocketmq, type and run:
$ mqnamesrv.cmd The Name Server boot success...
2) Start Broker
For macOS and Linux users:
### start Broker $ nohup sh bin/mqbroker -n localhost:9876 & ### check whether Broker is successfully started, eg: Broker's IP is 192.168.1.2, Broker's name is broker-a $ tail -f ~/logs/rocketmqlogs/broker.log The broker[broker-a, 192.169.1.2:10911] boot success...
For Windows users:
$ mqbroker.cmd -n localhost:9876 The broker[broker-a, 192.169.1.2:10911] boot success...
You can run RocketMQ on your own machine within Docker containers, host
network will be used to expose listening port in the container.
1) Start NameServer
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) Start Broker
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
You can also run a RocketMQ cluster within a Kubernetes cluster using RocketMQ Operator. Before your operations, make sure that kubectl
and related kubeconfig file installed on your machine.
1) Install CRDs
### install CRDs $ git clone https://github.com/apache/rocketmq-operator $ cd rocketmq-operator && make deploy ### check whether CRDs is successfully installed $ kubectl get crd | grep rocketmq.apache.org brokers.rocketmq.apache.org 2022-05-12T09:23:18Z consoles.rocketmq.apache.org 2022-05-12T09:23:19Z nameservices.rocketmq.apache.org 2022-05-12T09:23:18Z topictransfers.rocketmq.apache.org 2022-05-12T09:23:19Z ### check whether operator is running $ kubectl get pods | grep rocketmq-operator rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0 93s
2) Create Cluster Instance
### create RocketMQ cluster resource $ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml ### check whether cluster resources is running $ kubectl get sts NAME READY AGE broker-0-master 1/1 107m broker-0-replica-1 1/1 107m name-service 1/1 107m
#启动相关
[root@yuanlnet bin]# netstat -nltp
[root@yuanlnet rocketmq-4.9.3]# cd /opt/rocketMQ/
[root@yuanlnet rocketMQ]# nohup java -jar rocketmq-dashboard.jar &
[root@yuanlnet rocketMQ]# cd /opt/rocketMQ/rocketmq-4.9.3/bin/
[root@yuanlnet bin]# nohup sh mqnamesrv &
[root@yuanlnet bin]# cd ../
[root@yuanlnet rocketmq-4.9.3]# nohup sh bin/mqbroker -n 10.*.*.*:9876 -c conf/broker.conf &
[root@yuanlnet rocketmq-4.9.3]# netstat -nltp
#关闭相关
[root@yuanlnet rocketmq-4.9.3]# cd /opt/rocketMQ/rocketmq-4.9.3/bin/
[root@yuanlnet bin]# sh ./mqshutdown broker
[root@yuanlnet bin]# sh ./mqshutdown namesrv
[root@yuanlnet rocketmq-4.9.3]# netstat -nltp
#清理相关
[root@yuanlnet bin]# rm -rf /root/logs/rocketmqlogs/*
[root@yuanlnet bin]# rm -rf /root/store/*
#消息测试
# 1.设置环境变量
export NAMESRV_ADDR=127.0.0.1:9876
# 2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer