从零开始搭建 rocketmq 环境

从零开始搭建 RocketMQ 环境

准备

启动 name server

  > nohup sh bin/mqnamesrv &
  > tail -f ~/logs/rocketmqlogs/namesrv.log

启动 broker

> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log 
The broker[%s, 172.30.30.233:10911] boot success...

消息生产和消费

> export NAMESRV_ADDR=localhost:9876
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...

关闭 name server 和 broker

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

配置 name server

  • 新建namesrv.properties文件
# 自定义监听端口
listenPort=19876
  • 启动 name server 时,通过 -c 指定配置文件
nohup sh bin/mqnamesrv -c ./conf/namesrv.properties &

指定 name server 集群地址

Broker & Consumer & Producer,指定 name server 地址的几种方式。

编码

# Producer
DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");
producer.setNamesrvAddr("name-server1-ip:port;name-server2-ip:port");

# Consumer
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name");
consumer.setNamesrvAddr("name-server1-ip:port;name-server2-ip:port");

# If integrating admin tool into your own dashboard
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt("please_rename_unique_group_name");
defaultMQAdminExt.setNamesrvAddr("name-server1-ip:port;name-server2-ip:port");

shell -n

sh bin/mqbroker -n localhost:9876

Java Options

rocketmq.namesrv.addr

环境变量

NAMESRV_ADDR

HTTP Endpoint(推荐)

如果未使用上述指定 name server 地址的方法,会使用本方式获取 name server 地址。

  • Apache RocketMQ 访问URL:http://jmenv.tbsite.net:8080/rocketmq/nsaddr
  • URL返回内容:192.168.0.1:9876;192.168.0.2:9876
  • 客户端启动10秒后,每2分钟请求一次上述URL(刷新一次 name server 地址)。
  • rocketmq.namesrv.domain 可修改 jmenv.tbsite.net:8080
  • rocketmq.namesrv.domain.subgroup 可修改 nsaddr。

推荐使用本方法,支持动态增减 name server 节点,而不需要重启客户端。

命令行管理 mqadmin

官方说明

配置 Broker

属性名默认值说明
istenPort10911listen port for client
namesrvAddrnullname server address
brokerIP1InetAddress for network interfaceShould be configured if having multiple addresses
brokerNamenullbroker name
brokerClusterNameDefaultClusterthis broker belongs to which cluster
brokerId0broker id, 0 means master, positive integers mean slave
storePathCommitLog$HOME/store/commitlog/file path for commit log
storePathConsumerQueue$HOME/store/consumequeue/file path for consume queue
mapedFileSizeCommitLog1024 * 1024 * 1024(1G)mapped file size for commit log
deleteWhen04When to delete the commitlog which is out of the reserve time
fileReserverdTime72The number of hours to keep a commitlog before deleting it
brokerRoleASYNC_MASTERSYNC_MASTER/ASYNC_MASTER/SLAVE
flushDiskTypeASYNC_FLUSH{SYNC_FLUSH/ASYNC_FLUSH}. Broker of SYNC_FLUSH mode flushes each message onto disk before acknowledging producer. Broker of ASYNC_FLUSH mode, on the other hand, takes advantage of group-committing, achieving better performance.

参考

quick-start
cli-admin-tool
name-server-address
http://rocketmq.apache.org/docs/rmq-deployment/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值