Skip to content

Commit 018fec7

Browse files
committed
📝 Writing docs.
1 parent 6bc9734 commit 018fec7

1 file changed

Lines changed: 52 additions & 2 deletions

File tree

docs/deploy/tool/rocketmq/install-rocketmq.md

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
- [启动 Broker](#启动-broker)
99
- [收发消息](#收发消息)
1010
- [关闭服务器](#关闭服务器)
11+
- [FAQ](#faq)
12+
- [connect to <172.17.0.1:10909> failed](#connect-to-172170110909-failed)
13+
- [资料](#资料)
1114

1215
<!-- /TOC -->
1316

@@ -42,8 +45,8 @@ The Name Server boot success...
4245
## 启动 Broker
4346

4447
```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
4750
The broker[%s, 172.30.30.233:10911] boot success...
4851
```
4952

@@ -71,3 +74,50 @@ Send shutdown request to mqbroker(36695) OK
7174
The mqnamesrv(36664) is running...
7275
Send shutdown request to mqnamesrv(36664) OK
7376
```
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

Comments
 (0)