|
8 | 8 | - [启动 Broker](#启动-broker) |
9 | 9 | - [收发消息](#收发消息) |
10 | 10 | - [关闭服务器](#关闭服务器) |
| 11 | +- [FAQ](#faq) |
| 12 | + - [connect to <172.17.0.1:10909> failed](#connect-to-172170110909-failed) |
| 13 | +- [资料](#资料) |
11 | 14 |
|
12 | 15 | <!-- /TOC --> |
13 | 16 |
|
@@ -42,8 +45,8 @@ The Name Server boot success... |
42 | 45 | ## 启动 Broker |
43 | 46 |
|
44 | 47 | ```sh |
45 | | -> nohup sh bin/mqbroker -n localhost:9876 & |
46 | | -> tail -f ~/logs/rocketmqlogs/broker.log |
| 48 | +> nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf & |
| 49 | +> tail -f ~/logs/rocketmqlogs/broker.log |
47 | 50 | The broker[%s, 172.30.30.233:10911] boot success... |
48 | 51 | ``` |
49 | 52 |
|
@@ -71,3 +74,50 @@ Send shutdown request to mqbroker(36695) OK |
71 | 74 | The mqnamesrv(36664) is running... |
72 | 75 | Send shutdown request to mqnamesrv(36664) OK |
73 | 76 | ``` |
| 77 | +
|
| 78 | +## FAQ |
| 79 | +
|
| 80 | +### connect to <172.17.0.1:10909> failed |
| 81 | +
|
| 82 | +启动后,生产者客户端连接 RocketMQ 时报错: |
| 83 | +
|
| 84 | +```java |
| 85 | +org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.17.0.1:10909> failed |
| 86 | + at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:357) |
| 87 | + at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:343) |
| 88 | + at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:327) |
| 89 | + at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:290) |
| 90 | + at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:688) |
| 91 | + at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendSelectImpl(DefaultMQProducerImpl.java:901) |
| 92 | + at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:878) |
| 93 | + at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:873) |
| 94 | + at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:369) |
| 95 | + at com.emrubik.uc.mdm.sync.utils.MdmInit.sendMessage(MdmInit.java:62) |
| 96 | + at com.emrubik.uc.mdm.sync.utils.MdmInit.main(MdmInit.java:2149) |
| 97 | +``` |
| 98 | +
|
| 99 | +原因:RocketMQ 部署在虚拟机上,内网 ip 为 10.10.30.63,该虚拟机一个 docker0 网卡,ip 为 172.17.0.1。RocketMQ broker 启动时默认使用了 docker0 网卡,生产者客户端无法连接 172.17.0.1,造成以上问题。 |
| 100 | +
|
| 101 | +解决方案 |
| 102 | +
|
| 103 | +(1)干掉 docker0 网卡或修改网卡名称 |
| 104 | +
|
| 105 | +(2)停掉 broker,修改 broker 配置文件,重启 broker。 |
| 106 | +
|
| 107 | +修改 conf/broker.conf,增加两行来指定启动 broker 的 IP: |
| 108 | +
|
| 109 | +``` |
| 110 | +namesrvAddr = 10.10.30.63:9876 |
| 111 | +brokerIP1 = 10.10.30.63 |
| 112 | +``` |
| 113 | +
|
| 114 | +启动时需要指定配置文件 |
| 115 | +
|
| 116 | +```sh |
| 117 | +nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf & |
| 118 | +``` |
| 119 | +
|
| 120 | +## 资料 |
| 121 | +
|
| 122 | +- [RocketMQ 官方 Quick Start](https://rocketmq.apache.org/docs/quick-start/) |
| 123 | +- [RocketMQ 搭建及刨坑](http://laciagin.me/2017/12/07/RocketMQ%E6%90%AD%E5%BB%BA%E5%8F%8A%E5%88%A8%E5%9D%91/) |
0 commit comments