以下仅是个人学习记录,说明并不全,请见谅。
今天在腾讯云部署RocketMQ,启动服务时报connect to <x.x.x.x:10911> failed。
启动命令:
nohup sh mqnamesrv &
nohup sh mqbroker -n localhost:9876 &
于是搜索发现需要修改/conf/broker.conf,最后添加:
namesrvAddr=服务器外网IP:9876
brokerIP1=服务器外网IP
然后重启namesrv和broker
nohup sh mqnamesrv & tail -f nohup.out
nohup sh mqbroker -n localhost:9876 -c ../conf/broker.conf & tail -f nohup.out
注意事项:
1、一定要先重启namesrv后重启broker。重启broker一定要加-c ../conf/broker.conf,否则配置的外网ip不会生效,还是读取内网ip。
2、在创建生产者与消费者实例时,需要关闭vip通道。
producer.setVipChannelEnabled(false);
consumer.setVipChannelEnabled(false);
验证启动成功测试:
## 设置名称服务地址
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...