Apache RocketMQ是一个分布式消息和流媒体平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可扩展性。
它提供多种功能:
本段将指导您完成以不同方式安装 RocketMQ 的步骤。对于本地开发和测试,每个组件只会创建一个实例。
RocketMQ可以在所有主要操作系统上运行,并且只需要安装Java JDK版本8或更高版本。要检查,请运行java -version
:
$ java -version
java version " 1.8.0_121 "
对于Windows用户,请点击此处下载5.2.0 RocketMQ二进制版本,并将其解压到本地磁盘,例如D:rocketmq
。对于 macOS 和 Linux 用户,执行以下命令:
# Download release from the Apache mirror
$ wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip
# Unpack the release
$ unzip rocketmq-all-5.2.0-bin-release.zip
准备一个终端并切换到解压的bin
目录:
$ cd rocketmq-all-5.2.0-bin-release/bin
1) 启动名称服务器
NameServer 将监听0.0.0.0:9876
,确保本机上该端口没有被其他人使用,然后执行以下操作。
对于 macOS 和 Linux 用户:
# ## start Name Server
$ nohup sh mqnamesrv &
# ## check whether Name Server is successfully started
$ tail -f ~ /logs/rocketmqlogs/namesrv.log
The Name Server boot success...
对于Windows用户,需要先设置环境变量:
ROCKETMQ_HOME="D:rocketmq"
。然后将目录更改为 RocketMQ,输入并运行:
$ mqnamesrv.cmd
The Name Server boot success...
2) 启动经纪商
对于 macOS 和 Linux 用户:
# ## 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...
对于 Windows 用户:
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
您可以在自己的机器上的 Docker 容器中运行 RocketMQ, host
网络将用于公开容器中的侦听端口。
1) 启动名称服务器
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) 启动经纪商
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
您还可以使用 RocketMQ Operator 在 Kubernetes 集群中运行 RocketMQ 集群。在进行操作之前,请确保您的机器上安装了kubectl
和相关的 kubeconfig 文件。
1) 安装 CRD
# ## 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 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
我们始终欢迎新的贡献,无论是琐碎的清理、重大的新功能还是其他物质奖励,更多详细信息请参见此处。
Apache 许可证,版本 2.0 版权所有 (C) Apache Software Foundation
该发行版包括加密软件。您当前居住的国家/地区可能对加密软件的进口、拥有、使用和/或再出口到另一个国家/地区有限制。在使用任何加密软件之前,请检查您所在国家/地区有关进口、拥有或使用以及再出口加密软件的法律、法规和政策,以了解是否允许这样做。请参阅 http://www.wassenaar.org/ 了解更多信息。
美国政府商务部工业与安全局 (BIS) 已将此软件分类为出口商品控制编号 (ECCN) 5D002.C.1,其中包括使用非对称算法或执行加密功能的信息安全软件。此 Apache Software Foundation 发行版的形式和方式使其符合目标代码和源代码的许可例外 ENC 技术软件无限制 (TSU) 例外(请参阅 BIS 出口管理条例第 740.13 节)的出口资格。
以下提供了有关所含加密软件的更多详细信息:
该软件使用 Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) 支持身份验证以及服务之间通过网络发送的数据的加密和解密。