linux-tutorial/linux/soft/rocketmq-install.html
Travis CI User e3e645a29a deploy
2021-05-13 17:44:54 +08:00

79 lines
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>RocketMQ 安装部署 | LINUX-TUTORIAL</title>
<meta name="generator" content="VuePress 1.8.2">
<link rel="icon" href="/linux-tutorial/favicon.ico">
<meta name="description" content="数据库教程">
<link rel="preload" href="/linux-tutorial/assets/css/0.styles.45d9d031.css" as="style"><link rel="preload" href="/linux-tutorial/assets/js/app.79a38eea.js" as="script"><link rel="preload" href="/linux-tutorial/assets/js/4.fb6e0f89.js" as="script"><link rel="preload" href="/linux-tutorial/assets/js/65.c520257e.js" as="script"><link rel="preload" href="/linux-tutorial/assets/js/5.cb43ecfb.js" as="script"><link rel="prefetch" href="/linux-tutorial/assets/js/10.7933187b.js"><link rel="prefetch" href="/linux-tutorial/assets/js/11.b9b41530.js"><link rel="prefetch" href="/linux-tutorial/assets/js/12.70a5dba8.js"><link rel="prefetch" href="/linux-tutorial/assets/js/13.857dcc43.js"><link rel="prefetch" href="/linux-tutorial/assets/js/14.5a603a55.js"><link rel="prefetch" href="/linux-tutorial/assets/js/15.d217acb7.js"><link rel="prefetch" href="/linux-tutorial/assets/js/16.ad565eae.js"><link rel="prefetch" href="/linux-tutorial/assets/js/17.d43e9f56.js"><link rel="prefetch" href="/linux-tutorial/assets/js/18.aa00ff43.js"><link rel="prefetch" href="/linux-tutorial/assets/js/19.43ce44b3.js"><link rel="prefetch" href="/linux-tutorial/assets/js/20.5618e1ff.js"><link rel="prefetch" href="/linux-tutorial/assets/js/21.1c5a41d7.js"><link rel="prefetch" href="/linux-tutorial/assets/js/22.fbe9fdf1.js"><link rel="prefetch" href="/linux-tutorial/assets/js/23.a4fb0e74.js"><link rel="prefetch" href="/linux-tutorial/assets/js/24.e3a23b69.js"><link rel="prefetch" href="/linux-tutorial/assets/js/25.9896afe9.js"><link rel="prefetch" href="/linux-tutorial/assets/js/26.96164082.js"><link rel="prefetch" href="/linux-tutorial/assets/js/27.391033bb.js"><link rel="prefetch" href="/linux-tutorial/assets/js/28.703f74c2.js"><link rel="prefetch" href="/linux-tutorial/assets/js/29.02a952cb.js"><link rel="prefetch" href="/linux-tutorial/assets/js/30.7e13628f.js"><link rel="prefetch" href="/linux-tutorial/assets/js/31.c4652f75.js"><link rel="prefetch" href="/linux-tutorial/assets/js/32.05d2cbec.js"><link rel="prefetch" href="/linux-tutorial/assets/js/33.3b265df8.js"><link rel="prefetch" href="/linux-tutorial/assets/js/34.26330a03.js"><link rel="prefetch" href="/linux-tutorial/assets/js/35.417d706d.js"><link rel="prefetch" href="/linux-tutorial/assets/js/36.0ed775e0.js"><link rel="prefetch" href="/linux-tutorial/assets/js/37.34430c74.js"><link rel="prefetch" href="/linux-tutorial/assets/js/38.87d5e0ff.js"><link rel="prefetch" href="/linux-tutorial/assets/js/39.7b648b3e.js"><link rel="prefetch" href="/linux-tutorial/assets/js/40.3b7a219e.js"><link rel="prefetch" href="/linux-tutorial/assets/js/41.e727eee9.js"><link rel="prefetch" href="/linux-tutorial/assets/js/42.0134c187.js"><link rel="prefetch" href="/linux-tutorial/assets/js/43.175e982f.js"><link rel="prefetch" href="/linux-tutorial/assets/js/44.72d90888.js"><link rel="prefetch" href="/linux-tutorial/assets/js/45.d49955bd.js"><link rel="prefetch" href="/linux-tutorial/assets/js/46.a9c290ec.js"><link rel="prefetch" href="/linux-tutorial/assets/js/47.cc639f04.js"><link rel="prefetch" href="/linux-tutorial/assets/js/48.98c78321.js"><link rel="prefetch" href="/linux-tutorial/assets/js/49.a7c3afed.js"><link rel="prefetch" href="/linux-tutorial/assets/js/50.22d8c542.js"><link rel="prefetch" href="/linux-tutorial/assets/js/51.28055fcd.js"><link rel="prefetch" href="/linux-tutorial/assets/js/52.f8103df5.js"><link rel="prefetch" href="/linux-tutorial/assets/js/53.76541550.js"><link rel="prefetch" href="/linux-tutorial/assets/js/54.e78d2776.js"><link rel="prefetch" href="/linux-tutorial/assets/js/55.3ce3079c.js"><link rel="prefetch" href="/linux-tutorial/assets/js/56.832958c9.js"><link rel="prefetch" href="/linux-tutorial/assets/js/57.961ce896.js"><link rel="prefetch" href="/linux-tutorial/assets/js/58.6d6fbc82.js"><link rel="prefetch" href="/linux-tutorial/assets/js/59.d5e48112.js"><link rel="prefetch" href="/linux-tutorial/assets/js/6.c8f4721c.js"><link rel="prefetch" href="/linux-tutorial/assets/js/60.7927b23b.js"><link rel="prefetch" href="/linux-tutorial/assets/js/61.ee233f24.js"><link rel="prefetch" href="/linux-tutorial/assets/js/62.6ba50cc7.js"><link rel="prefetch" href="/linux-tutorial/assets/js/63.9cbf9f2b.js"><link rel="prefetch" href="/linux-tutorial/assets/js/64.0be148a4.js"><link rel="prefetch" href="/linux-tutorial/assets/js/66.f2335390.js"><link rel="prefetch" href="/linux-tutorial/assets/js/67.e5737218.js"><link rel="prefetch" href="/linux-tutorial/assets/js/68.46427a01.js"><link rel="prefetch" href="/linux-tutorial/assets/js/69.450417bb.js"><link rel="prefetch" href="/linux-tutorial/assets/js/7.046e5a1b.js"><link rel="prefetch" href="/linux-tutorial/assets/js/70.072034d2.js"><link rel="prefetch" href="/linux-tutorial/assets/js/8.77fb8967.js"><link rel="prefetch" href="/linux-tutorial/assets/js/9.ebfa537e.js"><link rel="prefetch" href="/linux-tutorial/assets/js/vendors~flowchart.20a64d45.js"><link rel="prefetch" href="/linux-tutorial/assets/js/vendors~notification.ea176280.js">
<link rel="stylesheet" href="/linux-tutorial/assets/css/0.styles.45d9d031.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/linux-tutorial/" class="home-link router-link-active"><img src="images/dunwu-logo-100.png" alt="LINUX-TUTORIAL" class="logo"> <span class="site-name can-hide">LINUX-TUTORIAL</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/linux-tutorial/linux/cli/" class="nav-link">
Linux 命令
</a></div><div class="nav-item"><a href="/linux-tutorial/linux/ops/" class="nav-link">
Linux 运维
</a></div><div class="nav-item"><a href="/linux-tutorial/linux/soft/" class="nav-link router-link-active">
Linux 软件运维
</a></div><div class="nav-item"><a href="/linux-tutorial/docker/" class="nav-link">
Docker 教程
</a></div><div class="nav-item"><a href="https://github.com/dunwu/blog" target="_blank" rel="noopener noreferrer" class="nav-link external">
🎯 博客
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <a href="https://github.com/dunwu/linux-tutorial" target="_blank" rel="noopener noreferrer" class="repo-link">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/linux-tutorial/linux/cli/" class="nav-link">
Linux 命令
</a></div><div class="nav-item"><a href="/linux-tutorial/linux/ops/" class="nav-link">
Linux 运维
</a></div><div class="nav-item"><a href="/linux-tutorial/linux/soft/" class="nav-link router-link-active">
Linux 软件运维
</a></div><div class="nav-item"><a href="/linux-tutorial/docker/" class="nav-link">
Docker 教程
</a></div><div class="nav-item"><a href="https://github.com/dunwu/blog" target="_blank" rel="noopener noreferrer" class="nav-link external">
🎯 博客
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <a href="https://github.com/dunwu/linux-tutorial" target="_blank" rel="noopener noreferrer" class="repo-link">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>RocketMQ 安装部署</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#环境要求" class="sidebar-link">环境要求</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#下载解压" class="sidebar-link">下载解压</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#启动-name-server" class="sidebar-link">启动 Name Server</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#启动-broker" class="sidebar-link">启动 Broker</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#收发消息" class="sidebar-link">收发消息</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#关闭服务器" class="sidebar-link">关闭服务器</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#faq" class="sidebar-link">FAQ</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/linux-tutorial/linux/soft/rocketmq-install.html#connect-to-172-17-0-1-10909-failed" class="sidebar-link">connect to failed</a></li></ul></li><li><a href="/linux-tutorial/linux/soft/rocketmq-install.html#更多内容" class="sidebar-link">更多内容</a><ul class="sidebar-sub-headers"></ul></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="rocketmq-安装部署"><a href="#rocketmq-安装部署" class="header-anchor">#</a> RocketMQ 安装部署</h1> <ul><li><a href="#%E7%8E%AF%E5%A2%83%E8%A6%81%E6%B1%82">环境要求</a></li> <li><a href="#%E4%B8%8B%E8%BD%BD%E8%A7%A3%E5%8E%8B">下载解压</a></li> <li><a href="#%E5%90%AF%E5%8A%A8-name-server">启动 Name Server</a></li> <li><a href="#%E5%90%AF%E5%8A%A8-broker">启动 Broker</a></li> <li><a href="#%E6%94%B6%E5%8F%91%E6%B6%88%E6%81%AF">收发消息</a></li> <li><a href="#%E5%85%B3%E9%97%AD%E6%9C%8D%E5%8A%A1%E5%99%A8">关闭服务器</a></li> <li><a href="#faq">FAQ</a> <ul><li><a href="#connect-to-172170110909-failed">connect to &lt;172.17.0.1:10909&gt; failed</a></li></ul></li> <li><a href="#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99">参考资料</a></li></ul> <h2 id="环境要求"><a href="#环境要求" class="header-anchor">#</a> 环境要求</h2> <ul><li>推荐 64 位操作系统Linux/Unix/Mac</li> <li>64bit JDK 1.8+</li> <li>Maven 3.2.x</li> <li>Git</li></ul> <h2 id="下载解压"><a href="#下载解压" class="header-anchor">#</a> 下载解压</h2> <p>进入官方下载地址https://rocketmq.apache.org/dowloading/releases/,选择合适版本</p> <p>建议选择 binary 版本。</p> <p>解压到本地:</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token operator">&gt;</span> <span class="token function">unzip</span> rocketmq-all-4.2.0-source-release.zip
<span class="token operator">&gt;</span> <span class="token builtin class-name">cd</span> rocketmq-all-4.2.0/
</code></pre></div><h2 id="启动-name-server"><a href="#启动-name-server" class="header-anchor">#</a> 启动 Name Server</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token operator">&gt;</span> <span class="token function">nohup</span> <span class="token function">sh</span> bin/mqnamesrv <span class="token operator">&amp;</span>
<span class="token operator">&gt;</span> <span class="token function">tail</span> -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success<span class="token punctuation">..</span>.
</code></pre></div><h2 id="启动-broker"><a href="#启动-broker" class="header-anchor">#</a> 启动 Broker</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token operator">&gt;</span> <span class="token function">nohup</span> <span class="token function">sh</span> bin/mqbroker -n localhost:9876 -c conf/broker.conf <span class="token operator">&amp;</span>
<span class="token operator">&gt;</span> <span class="token function">tail</span> -f ~/logs/rocketmqlogs/broker.log
The broker<span class="token punctuation">[</span>%s, <span class="token number">172.30</span>.30.233:10911<span class="token punctuation">]</span> boot success<span class="token punctuation">..</span>.
</code></pre></div><h2 id="收发消息"><a href="#收发消息" class="header-anchor">#</a> 收发消息</h2> <p>执行收发消息操作之前,不许告诉客户端命名服务器的位置。在 RocketMQ 中有多种方法来实现这个目的。这里,我们使用最简单的方法——设置环境变量 <code>NAMESRV_ADDR</code> </p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token operator">&gt;</span> <span class="token builtin class-name">export</span> <span class="token assign-left variable">NAMESRV_ADDR</span><span class="token operator">=</span>localhost:9876
<span class="token operator">&gt;</span> <span class="token function">sh</span> bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult <span class="token punctuation">[</span>sendStatus<span class="token operator">=</span>SEND_OK, <span class="token assign-left variable">msgId</span><span class="token operator">=</span> <span class="token punctuation">..</span>.
<span class="token operator">&gt;</span> <span class="token function">sh</span> bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: <span class="token punctuation">[</span>MessageExt<span class="token punctuation">..</span>.
</code></pre></div><h2 id="关闭服务器"><a href="#关闭服务器" class="header-anchor">#</a> 关闭服务器</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token operator">&gt;</span> <span class="token function">sh</span> bin/mqshutdown broker
The mqbroker<span class="token punctuation">(</span><span class="token number">36695</span><span class="token punctuation">)</span> is running<span class="token punctuation">..</span>.
Send <span class="token function">shutdown</span> request to mqbroker<span class="token punctuation">(</span><span class="token number">36695</span><span class="token punctuation">)</span> OK
<span class="token operator">&gt;</span> <span class="token function">sh</span> bin/mqshutdown namesrv
The mqnamesrv<span class="token punctuation">(</span><span class="token number">36664</span><span class="token punctuation">)</span> is running<span class="token punctuation">..</span>.
Send <span class="token function">shutdown</span> request to mqnamesrv<span class="token punctuation">(</span><span class="token number">36664</span><span class="token punctuation">)</span> OK
</code></pre></div><h2 id="faq"><a href="#faq" class="header-anchor">#</a> FAQ</h2> <h3 id="connect-to-172-17-0-1-10909-failed"><a href="#connect-to-172-17-0-1-10909-failed" class="header-anchor">#</a> connect to &lt;172.17.0.1:10909&gt; failed</h3> <p>启动后,生产者客户端连接 RocketMQ 时报错:</p> <div class="language-java extra-class"><pre class="language-java"><code><span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>remoting<span class="token punctuation">.</span>exception<span class="token punctuation">.</span></span>RemotingConnectException</span><span class="token operator">:</span> connect <span class="token keyword">to</span> <span class="token operator">&lt;</span><span class="token number">172.17</span><span class="token number">.0</span><span class="token number">.1</span><span class="token operator">:</span><span class="token number">10909</span><span class="token operator">&gt;</span> failed
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>remoting<span class="token punctuation">.</span>netty<span class="token punctuation">.</span></span>NettyRemotingClient</span><span class="token punctuation">.</span><span class="token function">invokeSync</span><span class="token punctuation">(</span><span class="token class-name">NettyRemotingClient</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">357</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span></span>MQClientAPIImpl</span><span class="token punctuation">.</span><span class="token function">sendMessageSync</span><span class="token punctuation">(</span><span class="token class-name">MQClientAPIImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">343</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span></span>MQClientAPIImpl</span><span class="token punctuation">.</span><span class="token function">sendMessage</span><span class="token punctuation">(</span><span class="token class-name">MQClientAPIImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">327</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span></span>MQClientAPIImpl</span><span class="token punctuation">.</span><span class="token function">sendMessage</span><span class="token punctuation">(</span><span class="token class-name">MQClientAPIImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">290</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span>producer<span class="token punctuation">.</span></span>DefaultMQProducerImpl</span><span class="token punctuation">.</span><span class="token function">sendKernelImpl</span><span class="token punctuation">(</span><span class="token class-name">DefaultMQProducerImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">688</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span>producer<span class="token punctuation">.</span></span>DefaultMQProducerImpl</span><span class="token punctuation">.</span><span class="token function">sendSelectImpl</span><span class="token punctuation">(</span><span class="token class-name">DefaultMQProducerImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">901</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span>producer<span class="token punctuation">.</span></span>DefaultMQProducerImpl</span><span class="token punctuation">.</span><span class="token function">send</span><span class="token punctuation">(</span><span class="token class-name">DefaultMQProducerImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">878</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>impl<span class="token punctuation">.</span>producer<span class="token punctuation">.</span></span>DefaultMQProducerImpl</span><span class="token punctuation">.</span><span class="token function">send</span><span class="token punctuation">(</span><span class="token class-name">DefaultMQProducerImpl</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">873</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">org<span class="token punctuation">.</span>apache<span class="token punctuation">.</span>rocketmq<span class="token punctuation">.</span>client<span class="token punctuation">.</span>producer<span class="token punctuation">.</span></span>DefaultMQProducer</span><span class="token punctuation">.</span><span class="token function">send</span><span class="token punctuation">(</span><span class="token class-name">DefaultMQProducer</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">369</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">com<span class="token punctuation">.</span>emrubik<span class="token punctuation">.</span>uc<span class="token punctuation">.</span>mdm<span class="token punctuation">.</span>sync<span class="token punctuation">.</span>utils<span class="token punctuation">.</span></span>MdmInit</span><span class="token punctuation">.</span><span class="token function">sendMessage</span><span class="token punctuation">(</span><span class="token class-name">MdmInit</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">62</span><span class="token punctuation">)</span>
at <span class="token class-name"><span class="token namespace">com<span class="token punctuation">.</span>emrubik<span class="token punctuation">.</span>uc<span class="token punctuation">.</span>mdm<span class="token punctuation">.</span>sync<span class="token punctuation">.</span>utils<span class="token punctuation">.</span></span>MdmInit</span><span class="token punctuation">.</span><span class="token function">main</span><span class="token punctuation">(</span><span class="token class-name">MdmInit</span><span class="token punctuation">.</span>java<span class="token operator">:</span><span class="token number">2149</span><span class="token punctuation">)</span>
</code></pre></div><p>原因RocketMQ 部署在虚拟机上,内网 ip 为 10.10.30.63,该虚拟机一个 docker0 网卡ip 为 172.17.0.1。RocketMQ broker 启动时默认使用了 docker0 网卡,生产者客户端无法连接 172.17.0.1,造成以上问题。</p> <p>解决方案</p> <p>1干掉 docker0 网卡或修改网卡名称</p> <p>2停掉 broker修改 broker 配置文件,重启 broker。</p> <p>修改 conf/broker.conf增加两行来指定启动 broker 的 IP</p> <div class="language- extra-class"><pre class="language-text"><code>namesrvAddr = 10.10.30.63:9876
brokerIP1 = 10.10.30.63
</code></pre></div><p>启动时需要指定配置文件</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">nohup</span> <span class="token function">sh</span> bin/mqbroker -n localhost:9876 -c conf/broker.conf <span class="token operator">&amp;</span>
</code></pre></div><h2 id="更多内容"><a href="#更多内容" class="header-anchor">#</a> 更多内容</h2> <ul><li><strong>引申</strong> <ul><li><a href="https://github.com/dunwu/OS" target="_blank" rel="noopener noreferrer">操作系统、运维部署总结系列<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></li> <li><strong>引用</strong> <ul><li><a href="http://rocketmq.apache.org/docs/quick-start/" target="_blank" rel="noopener noreferrer">RocketMQ 官方文档<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="http://laciagin.me/2017/12/07/RocketMQ%E6%90%AD%E5%BB%BA%E5%8F%8A%E5%88%A8%E5%9D%91/" target="_blank" rel="noopener noreferrer">RocketMQ 搭建及刨坑<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></li></ul></div> <footer class="page-edit"><div class="edit-link"><a href="https://github.com/dunwu/linux-tutorial/edit/master/docs/linux/soft/rocketmq-install.md" target="_blank" rel="noopener noreferrer">帮助我们改善此页面!</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <div class="last-updated"><span class="prefix">上次更新:</span> <span class="time">2 years ago</span></div></footer> <!----> </main></div><div class="global-ui"><!----><!----></div></div>
<script src="/linux-tutorial/assets/js/app.79a38eea.js" defer></script><script src="/linux-tutorial/assets/js/4.fb6e0f89.js" defer></script><script src="/linux-tutorial/assets/js/65.c520257e.js" defer></script><script src="/linux-tutorial/assets/js/5.cb43ecfb.js" defer></script>
</body>
</html>