blob: 9129495ed569d1c70e4bab0f28973ca7a2f4ec81 [file] [log] [blame]
"use strict";(self.webpackChunkrocketmq_docs=self.webpackChunkrocketmq_docs||[]).push([[6917],{15680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>y});var o=t(96540);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?c(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,o,r=function(e,n){if(null==e)return{};var t,o,r={},c=Object.keys(e);for(o=0;o<c.length;o++)t=c[o],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)t=c[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=o.createContext({}),i=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},g=function(e){var n=i(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},m=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,c=e.originalType,s=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),p=i(t),m=r,y=p["".concat(s,".").concat(m)]||p[m]||u[m]||c;return t?o.createElement(y,a(a({ref:n},g),{},{components:t})):o.createElement(y,a({ref:n},g))}));function y(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var c=t.length,a=new Array(c);a[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:r,a[1]=l;for(var i=2;i<c;i++)a[i]=t[i];return o.createElement.apply(null,a)}return o.createElement.apply(null,t)}m.displayName="MDXCreateElement"},88554:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>c,metadata:()=>l,toc:()=>i});var o=t(58168),r=(t(96540),t(15680));const c={},a="\u5feb\u901f\u5f00\u59cb",l={unversionedId:"connect/03RocketMQ Connect Quick Start",id:"version-5.0/connect/03RocketMQ Connect Quick Start",title:"\u5feb\u901f\u5f00\u59cb",description:"License",source:"@site/versioned_docs/version-5.0/10-connect/03RocketMQ Connect Quick Start.md",sourceDirName:"10-connect",slug:"/connect/03RocketMQ Connect Quick Start",permalink:"/zh/docs/connect/03RocketMQ Connect Quick Start",draft:!1,editUrl:"https://github.com/apache/rocketmq-site/tree/new-official-website/versioned_docs/version-5.0/10-connect/03RocketMQ Connect Quick Start.md",tags:[],version:"5.0",frontMatter:{},sidebar:"version-5.0/myAutogeneratedSidebar",previous:{title:"\u6982\u5ff5",permalink:"/zh/docs/connect/02RocketMQ Connect Concept"},next:{title:"RocketMQ Connect\u5b9e\u62181",permalink:"/zh/docs/connect/04RocketMQ Connect In Action1"}},s={},i=[{value:"1.\u51c6\u5907\uff1a\u542f\u52a8RocketMQ",id:"1\u51c6\u5907\u542f\u52a8rocketmq",level:2},{value:"2.\u6784\u5efaConnector Runtime",id:"2\u6784\u5efaconnector-runtime",level:2},{value:"3.\u5355\u673a\u6a21\u5f0f\u8fd0\u884c Connector Worker",id:"3\u5355\u673a\u6a21\u5f0f\u8fd0\u884c-connector-worker",level:2},{value:"\u4fee\u6539\u914d\u7f6e",id:"\u4fee\u6539\u914d\u7f6e",level:3},{value:"\u91c7\u7528\u5355\u673a\u6a21\u5f0f\u542f\u52a8Connector Worker",id:"\u91c7\u7528\u5355\u673a\u6a21\u5f0f\u542f\u52a8connector-worker",level:3},{value:"4.\u542f\u52a8source connector",id:"4\u542f\u52a8source-connector",level:2},{value:"\u521b\u5efa\u6e90\u7aef\u6587\u4ef6\u5e76\u5199\u5165\u6d4b\u8bd5\u6570\u636e",id:"\u521b\u5efa\u6e90\u7aef\u6587\u4ef6\u5e76\u5199\u5165\u6d4b\u8bd5\u6570\u636e",level:3},{value:"\u542f\u52a8Source Connector",id:"\u542f\u52a8source-connector",level:3},{value:"source connector\u914d\u7f6e\u8bf4\u660e",id:"source-connector\u914d\u7f6e\u8bf4\u660e",level:4},{value:"5.\u542f\u52a8sink connector",id:"5\u542f\u52a8sink-connector",level:2},{value:"sink connector\u914d\u7f6e\u8bf4\u660e",id:"sink-connector\u914d\u7f6e\u8bf4\u660e",level:4},{value:"6.\u505c\u6b62connector",id:"6\u505c\u6b62connector",level:2},{value:"7.\u505c\u6b62Worker\u8fdb\u7a0b",id:"7\u505c\u6b62worker\u8fdb\u7a0b",level:2},{value:"8.\u65e5\u5fd7\u76ee\u5f55",id:"8\u65e5\u5fd7\u76ee\u5f55",level:2},{value:"9.\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e",id:"9\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e",level:2}],g={toc:i},p="wrapper";function u(e){let{components:n,...t}=e;return(0,r.yg)(p,(0,o.A)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("h1",{id:"\u5feb\u901f\u5f00\u59cb"},"\u5feb\u901f\u5f00\u59cb"),(0,r.yg)("p",null,(0,r.yg)("a",{parentName:"p",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},(0,r.yg)("img",{parentName:"a",src:"https://img.shields.io/badge/license-Apache%202-4EB1BA.svg",alt:"License"}))),(0,r.yg)("h1",{id:"\u5feb\u901f\u5f00\u59cb-1"},"\u5feb\u901f\u5f00\u59cb"),(0,r.yg)("p",null,"\u672c\u6559\u7a0b\u5c06\u91c7\u7528\u5355\u673a\u6a21\u5f0f\u542f\u52a8\u4e00\u4e2aRocketMQ Connector\u793a\u4f8b\u5de5\u7a0brocketmq-connect-sample\uff0c\u6765\u5e2e\u52a9\u4f60\u4e86\u89e3\u8fde\u63a5\u5668\u7684\u5de5\u4f5c\u539f\u7406\u3002\n\u793a\u4f8b\u5de5\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u6e90\u7aef\u8fde\u63a5\u5668\uff0c\u4f5c\u7528\u662f\u4ece\u6e90\u6587\u4ef6\u4e2d\u8bfb\u53d6\u6570\u636e\u7136\u540e\u53d1\u9001\u5230RocketMQ\u96c6\u7fa4\u3002\n\u540c\u65f6\u63d0\u4f9b\u4e86\u76ee\u7684\u7aef\u8fde\u63a5\u5668\uff0c\u4f5c\u7528\u662f\u4eceRocketMQ\u96c6\u7fa4\u4e2d\u8bfb\u53d6\u6d88\u606f\u7136\u540e\u5199\u5165\u76ee\u7684\u7aef\u6587\u4ef6\u3002"),(0,r.yg)("h2",{id:"1\u51c6\u5907\u542f\u52a8rocketmq"},"1.\u51c6\u5907\uff1a\u542f\u52a8RocketMQ"),(0,r.yg)("ol",null,(0,r.yg)("li",{parentName:"ol"},"Linux/Unix/Mac"),(0,r.yg)("li",{parentName:"ol"},"64bit JDK 1.8+;"),(0,r.yg)("li",{parentName:"ol"},"Maven 3.2.x\u6216\u4ee5\u4e0a\u7248\u672c;"),(0,r.yg)("li",{parentName:"ol"},"\u542f\u52a8 RocketMQ\u3002\u4f7f\u7528",(0,r.yg)("a",{parentName:"li",href:"https://rocketmq.apache.org/docs/4.x/"},"RocketMQ 4.x")," \u6216\n",(0,r.yg)("a",{parentName:"li",href:"https://rocketmq.apache.org/docs/quickStart/01quickstart/"},"RocketMQ 5.x"),"\u7248\u672c\u5747\u53ef;"),(0,r.yg)("li",{parentName:"ol"},"\u5de5\u5177\u6d4b\u8bd5 RocketMQ \u6d88\u606f\u6536\u53d1\u662f\u5426\u6b63\u5e38\u3002\u8be6\u89c1",(0,r.yg)("a",{parentName:"li",href:"https://rocketmq.apache.org/docs/4.x/"},"RocketMQ 4.x")," \u6216\n",(0,r.yg)("a",{parentName:"li",href:"https://rocketmq.apache.org/docs/quickStart/01quickstart/"},"RocketMQ 5.x"),"\u6587\u6863\u3002")),(0,r.yg)("p",null,"\u8fd9\u91cc\u5229\u7528\u73af\u5883\u53d8\u91cfNAMESRV_ADDR\u6765\u544a\u8bc9\u5de5\u5177\u5ba2\u6237\u7aefRocketMQ\u7684NameServer\u5730\u5740\u4e3alocalhost:9876"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"#$ cd distribution/target/rocketmq-4.9.7/rocketmq-4.9.7\n$ cd distribution/target/rocketmq-5.1.4/rocketmq-5.1.4\n\n$ export NAMESRV_ADDR=localhost:9876\n$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer\n SendResult [sendStatus=SEND_OK, msgId= ...\n\n$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer\n ConsumeMessageThread_%d Receive New Messages: [MessageExt...\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"\u8bf4\u660e"),"\uff1aRocketMQ\u5177\u5907\u81ea\u52a8\u521b\u5efaTopic\u548cGroup\u7684\u529f\u80fd\uff0c\u5728\u53d1\u9001\u6d88\u606f\u6216\u8ba2\u9605\u6d88\u606f\u65f6\uff0c\u5982\u679c\u76f8\u5e94\u7684Topic\u6216Group\u4e0d\u5b58\u5728\uff0cRocketMQ\u4f1a\u81ea\u52a8\u521b\u5efa\u5b83\u4eec\u3002\u56e0\u6b64\u4e0d\u9700\u8981\u63d0\u524d\u521b\u5efaTopic\u548cGroup\u3002"),(0,r.yg)("h2",{id:"2\u6784\u5efaconnector-runtime"},"2.\u6784\u5efaConnector Runtime"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com/apache/rocketmq-connect.git\n\ncd rocketmq-connect\n\nexport RMQ_CONNECT_HOME=`pwd`\n\nmvn -Prelease-connect -Dmaven.test.skip=true clean install -U\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"\u6ce8\u610f"),"\uff1a\u672c\u5de5\u7a0b\u5df2\u9ed8\u8ba4\u5305\u542b rocketmq-connect-sample \u7684\u4ee3\u7801\uff0c\u56e0\u6b64\u65e0\u9700\u5355\u72ec\u6784\u5efa rocketmq-connect-sample \u63d2\u4ef6\u3002"),(0,r.yg)("h2",{id:"3\u5355\u673a\u6a21\u5f0f\u8fd0\u884c-connector-worker"},"3.\u5355\u673a\u6a21\u5f0f\u8fd0\u884c Connector Worker"),(0,r.yg)("h3",{id:"\u4fee\u6539\u914d\u7f6e"},"\u4fee\u6539\u914d\u7f6e"),(0,r.yg)("p",null,(0,r.yg)("inlineCode",{parentName:"p"},"connect-standalone.conf"),"\u4e2d\u914d\u7f6e\u4e86RocketMQ\u8fde\u63a5\u5730\u5740\u7b49\u4fe1\u606f\uff0c\u9700\u8981\u6839\u636e\u4f7f\u7528\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff0c\u5177\u4f53\u53c2\u89c1",(0,r.yg)("a",{parentName:"p",href:"#9%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E"},"9.\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e"),"\u3002"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"cd $RMQ_CONNECT_HOME/distribution/target/rocketmq-connect-0.0.1-SNAPSHOT/rocketmq-connect-0.0.1-SNAPSHOT\n\nvim conf/connect-standalone.conf\n")),(0,r.yg)("p",null,"\u5355\u673a\u6a21\u5f0f\uff08standalone\uff09\u4e0b\uff0cRocketMQ Connect \u4f1a\u628a\u540c\u6b65\u4f4d\u70b9\u4fe1\u606f\u6301\u4e45\u5316\u5230\u672c\u5730\u6587\u4ef6\u76ee\u5f55 storePathRootDir"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},"storePathRootDir=/Users/YourUsername/rocketmqconnect/storeRoot")),(0,r.yg)("p",null,"\u5982\u679c\u60f3\u91cd\u7f6e\u540c\u6b65\u4f4d\u70b9\uff0c\u5219\u9700\u8981\u5220\u9664\u6301\u4e45\u5316\u7684\u4f4d\u70b9\u4fe1\u606f\u6587\u4ef6"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"rm -rf /Users/YourUsername/rocketmqconnect/storeRoot/*\n")),(0,r.yg)("h3",{id:"\u91c7\u7528\u5355\u673a\u6a21\u5f0f\u542f\u52a8connector-worker"},"\u91c7\u7528\u5355\u673a\u6a21\u5f0f\u542f\u52a8Connector Worker"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"sh bin/connect-standalone.sh -c conf/connect-standalone.conf &\n")),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"tips"),": \u53ef\u4fee\u6539 docker/connect/bin/runconnect.sh \u9002\u5f53\u8c03\u6574 JVM \u542f\u52a8\u53c2\u6570"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},'JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m"')),(0,r.yg)("p",null,"\u67e5\u770b\u542f\u52a8\u65e5\u5fd7\u6587\u4ef6\uff1a"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"tail -100f ~/logs/rocketmqconnect/connect_runtime.log\n")),(0,r.yg)("p",null,"runtime\u82e5\u542f\u52a8\u6210\u529f\u5219\u65e5\u5fd7\u6587\u4ef6\u4e2d\u80fd\u770b\u5230\u5982\u4e0b\u6253\u5370\u5185\u5bb9\uff1a"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},"The standalone worker boot success.")),(0,r.yg)("p",null,"\u8981\u9000\u51fatail -f\u547d\u4ee4\u7684\u65e5\u5fd7\u8ffd\u8e2a\u6a21\u5f0f\uff0c\u60a8\u53ef\u4ee5\u6309\u4e0b Ctrl + C \u7ec4\u5408\u952e\u3002"),(0,r.yg)("h2",{id:"4\u542f\u52a8source-connector"},"4.\u542f\u52a8source connector"),(0,r.yg)("h3",{id:"\u521b\u5efa\u6e90\u7aef\u6587\u4ef6\u5e76\u5199\u5165\u6d4b\u8bd5\u6570\u636e"},"\u521b\u5efa\u6e90\u7aef\u6587\u4ef6\u5e76\u5199\u5165\u6d4b\u8bd5\u6570\u636e"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'mkdir -p /Users/YourUsername/rocketmqconnect/\ncd /Users/YourUsername/rocketmqconnect/\ntouch test-source-file.txt\n\necho "Hello \\r\\nRocketMQ\\r\\n Connect" >> test-source-file.txt\n')),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"\u6ce8\u610f"),"\uff1a\u4e0d\u80fd\u6709\u7a7a\u884c\uff08demo\u7a0b\u5e8f\u9047\u5230\u7a7a\u884c\u4f1a\u62a5\u9519\uff09\u3002source connector\u4f1a\u6301\u7eed\u8bfb\u53d6\u6e90\u7aef\u6587\u4ef6\uff0c\u6bcf\u8bfb\u53d6\u5230\u4e00\u884c\u6570\u636e\u5c31\u4f1a\u8f6c\u6362\u4e3a\u6d88\u606f\u4f53\u53d1\u9001\u5230RocketMQ\uff0c\u4f9bsink connector\u6d88\u8d39\u3002"),(0,r.yg)("h3",{id:"\u542f\u52a8source-connector"},"\u542f\u52a8Source Connector"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl -X POST -H "Content-Type: application/json" http://127.0.0.1:8082/connectors/fileSourceConnector -d \'{\n "connector.class": "org.apache.rocketmq.connect.file.FileSourceConnector",\n "filename": "/Users/YourUsername/rocketmqconnect/test-source-file.txt",\n "connect.topicname": "fileTopic"\n}\'\n')),(0,r.yg)("p",null,"curl\u8bf7\u6c42\u8fd4\u56destatus:200\u5219\u8868\u793a\u521b\u5efa\u6210\u529f\uff0c\u8fd4\u56de\u6837\u4f8b\uff1a"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},'{"status":200,"body":{"connector.class":"org.apache.rocketmq.connect.file.FileSourceConnector","filename":"/Users/YourUsername/rocketmqconnect/test-source-file.txt","connect.topicname":"fileTopic"}}')),(0,r.yg)("p",null,"\u770b\u5230\u4ee5\u4e0b\u65e5\u5fd7\u8bf4\u660e file source connector \u542f\u52a8\u6210\u529f\u4e86"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"tail -100f ~/logs/rocketmqconnect/connect_runtime.log\n")),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},"Start connector fileSourceConnector and set target state STARTED successed!!")),(0,r.yg)("h4",{id:"source-connector\u914d\u7f6e\u8bf4\u660e"},"source connector\u914d\u7f6e\u8bf4\u660e"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"key"),(0,r.yg)("th",{parentName:"tr",align:null},"nullable"),(0,r.yg)("th",{parentName:"tr",align:null},"default"),(0,r.yg)("th",{parentName:"tr",align:null},"description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"connector.class"),(0,r.yg)("td",{parentName:"tr",align:null},"false"),(0,r.yg)("td",{parentName:"tr",align:null}),(0,r.yg)("td",{parentName:"tr",align:null},"\u5b9e\u73b0 Connector\u63a5\u53e3\u7684\u7c7b\u540d\u79f0\uff08\u5305\u542b\u5305\u540d\uff09")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"filename"),(0,r.yg)("td",{parentName:"tr",align:null},"false"),(0,r.yg)("td",{parentName:"tr",align:null}),(0,r.yg)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u7aef\u6587\u4ef6\u540d\u79f0\uff08\u5efa\u8bae\u4f7f\u7528\u7edd\u5bf9\u8def\u5f84\uff09")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"connect.topicname"),(0,r.yg)("td",{parentName:"tr",align:null},"false"),(0,r.yg)("td",{parentName:"tr",align:null}),(0,r.yg)("td",{parentName:"tr",align:null},"\u540c\u6b65\u6587\u4ef6\u6570\u636e\u6240\u4f7f\u7528\u7684RocketMQ topic")))),(0,r.yg)("h2",{id:"5\u542f\u52a8sink-connector"},"5.\u542f\u52a8sink connector"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl -X POST -H "Content-Type: application/json" http://127.0.0.1:8082/connectors/fileSinkConnector -d \'{\n "connector.class": "org.apache.rocketmq.connect.file.FileSinkConnector",\n "filename": "/Users/YourUsername/rocketmqconnect/test-sink-file.txt",\n "connect.topicnames": "fileTopic"\n}\'\n')),(0,r.yg)("p",null,"curl\u8bf7\u6c42\u8fd4\u56destatus:200\u5219\u8868\u793a\u521b\u5efa\u6210\u529f\uff0c\u8fd4\u56de\u6837\u4f8b\uff1a"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},'{"status":200,"body":{"connector.class":"org.apache.rocketmq.connect.file.FileSinkConnector","filename":"/Users/YourUsername/rocketmqconnect/test-sink-file.txt","connect.topicnames":"fileTopic"}}')),(0,r.yg)("p",null,"\u770b\u5230\u4ee5\u4e0b\u65e5\u5fd7\u8bf4\u660efile sink connector \u542f\u52a8\u6210\u529f\u4e86"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"tail -100f ~/logs/rocketmqconnect/connect_runtime.log\n")),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},"Start connector fileSinkConnector and set target state STARTED successed!!")),(0,r.yg)("p",null,"\u67e5\u770bsink connector\u662f\u5426\u5c06\u6570\u636e\u5199\u5165\u4e86\u76ee\u7684\u7aef\u6587\u4ef6\uff1a"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"cat /Users/YourUsername/rocketmqconnect/test-sink-file.txt\n")),(0,r.yg)("p",null,"\u5982\u679c\u751f\u6210\u4e86 test-sink-file.txt \u6587\u4ef6\uff0c\u5e76\u4e14\u4e0e source-file.txt \u5185\u5bb9\u4e00\u6837\u5219\u8bf4\u660e\u6574\u4e2a\u6d41\u7a0b\u6b63\u5e38\u8fd0\u884c\u3002"),(0,r.yg)("p",null,"\u7ee7\u7eed\u5411\u6e90\u7aef\u6587\u4ef6 test-source-file.txt \u4e2d\u5199\u5165\u6d4b\u8bd5\u6570\u636e\uff0c"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'cd /Users/YourUsername/rocketmqconnect/\n\necho "Say Hi to\\r\\nRMQ Connector\\r\\nAgain" >> test-source-file.txt\n\n# Wait a few seconds, check if rocketmq-connect replicate data to sink file succeed \nsleep 10\ncat /Users/YourUsername/rocketmqconnect/test-sink-file.txt\n')),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"\u6ce8\u610f"),"\uff1a\u6587\u4ef6\u5185\u5bb9\u53ef\u80fd\u987a\u5e8f\u4e0d\u4e00\u6837\uff0c\u8fd9\u662f\u56e0\u4e3a ",(0,r.yg)("inlineCode",{parentName:"p"},"rocketmq-connect-sample")," \u5411RocketMQ Topic\u4e2d\u6536\u53d1\u6d88\u606f\u65f6\uff0c\u4f7f\u7528\u7684\u6d88\u606f\u7c7b\u578b\u662f\u666e\u901a\u6d88\u606f\uff0c\u533a\u522b\u4e8e\u987a\u5e8f\u6d88\u606f\uff0c\u6d88\u8d39\u666e\u901a\u6d88\u606f\u65f6\u662f\u4e0d\u4fdd\u8bc1\u987a\u5e8f\u7684\u3002"),(0,r.yg)("h4",{id:"sink-connector\u914d\u7f6e\u8bf4\u660e"},"sink connector\u914d\u7f6e\u8bf4\u660e"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"key"),(0,r.yg)("th",{parentName:"tr",align:null},"nullable"),(0,r.yg)("th",{parentName:"tr",align:null},"default"),(0,r.yg)("th",{parentName:"tr",align:null},"description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"connector.class"),(0,r.yg)("td",{parentName:"tr",align:null},"false"),(0,r.yg)("td",{parentName:"tr",align:null}),(0,r.yg)("td",{parentName:"tr",align:null},"\u5b9e\u73b0Connector\u63a5\u53e3\u7684\u7c7b\u540d\u79f0\uff08\u5305\u542b\u5305\u540d\uff09")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"filename"),(0,r.yg)("td",{parentName:"tr",align:null},"false"),(0,r.yg)("td",{parentName:"tr",align:null}),(0,r.yg)("td",{parentName:"tr",align:null},"sink\u6d88\u8d39RocketMQ\u6570\u636e\u540e\u4fdd\u5b58\u5230\u7684\u76ee\u7684\u7aef\u6587\u4ef6\u540d\u79f0\uff08\u5efa\u8bae\u4f7f\u7528\u7edd\u5bf9\u8def\u5f84\uff09")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"connect.topicnames"),(0,r.yg)("td",{parentName:"tr",align:null},"false"),(0,r.yg)("td",{parentName:"tr",align:null}),(0,r.yg)("td",{parentName:"tr",align:null},"sink\u9700\u8981\u5904\u7406\u6570\u636e\u6d88\u606ftopics")))),(0,r.yg)("p",null,(0,r.yg)("strong",{parentName:"p"},"\u6ce8\u610f"),"\uff1asource/sink\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e\u662f\u4ee5rocketmq-connect-sample\u4e3ademo\uff0c\u4e0d\u540csource/sink connector\u914d\u7f6e\u6709\u5dee\u5f02\uff0c\u8bf7\u4ee5\u5177\u4f53sourc/sink connector \u4e3a\u51c6"),(0,r.yg)("h2",{id:"6\u505c\u6b62connector"},"6.\u505c\u6b62connector"),(0,r.yg)("p",null,"RESTFul \u547d\u4ee4\u683c\u5f0f ",(0,r.yg)("inlineCode",{parentName:"p"},"http://(your worker ip):(port)/connectors/(connector name)/stop")),(0,r.yg)("p",null,"\u505c\u6b62demo\u4e2d\u7684\u4e24\u4e2aconnector"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"curl http://127.0.0.1:8082/connectors/fileSinkConnector/stop\ncurl http://127.0.0.1:8082/connectors/fileSourceConnector/stop\n")),(0,r.yg)("p",null,"curl\u8bf7\u6c42\u8fd4\u56destatus:200\u5219\u8868\u793a\u505c\u6b62\u6210\u529f\uff0c\u8fd4\u56de\u6837\u4f8b\uff1a"),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},'{"status":200,"body":"Connector ',"[fileSinkConnector]",' deleted successfully"}')),(0,r.yg)("p",null,"\u770b\u5230\u4ee5\u4e0b\u65e5\u5fd7\u8bf4\u660efile sink connector \u505c\u6b62\u6210\u529f\u4e86"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"tail -100f ~/logs/rocketmqconnect/connect_default.log\n")),(0,r.yg)("blockquote",null,(0,r.yg)("p",{parentName:"blockquote"},"Completed shutdown for connectorName:fileSinkConnector")),(0,r.yg)("h2",{id:"7\u505c\u6b62worker\u8fdb\u7a0b"},"7.\u505c\u6b62Worker\u8fdb\u7a0b"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"cd $RMQ_CONNECT_HOME/distribution/target/rocketmq-connect-0.0.1-SNAPSHOT/rocketmq-connect-0.0.1-SNAPSHOT\nsh bin/connectshutdown.sh\n")),(0,r.yg)("h2",{id:"8\u65e5\u5fd7\u76ee\u5f55"},"8.\u65e5\u5fd7\u76ee\u5f55"),(0,r.yg)("p",null,"\u67e5\u770b\u65e5\u5fd7\u76ee\u5f55\uff08\u4e0b\u97622\u4e2a\u547d\u4ee4\u662f\u7b49\u4ef7\u7684\uff09"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"ls $HOME/logs/rocketmqconnect\nls ~/logs/rocketmqconnect\n")),(0,r.yg)("h2",{id:"9\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e"},"9.\u914d\u7f6e\u6587\u4ef6\u8bf4\u660e"),(0,r.yg)("p",null,"connect-standalone.conf\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c \u914d\u7f6e\u4e86 ",(0,r.yg)("a",{parentName:"p",href:"https://restfulapi.cn/"},"RESTful")," \u7aef\u53e3\uff0cstoreRoot \u8def\u5f84\uff0cNameserver \u5730\u5740\u7b49\u4fe1\u606f\uff0c\u53ef\u6839\u636e\u9700\u8981\u8fdb\u884c\u4fee\u6539\u3002"),(0,r.yg)("p",null,"\u914d\u7f6e\u6587\u4ef6\u6837\u4f8b\uff1a"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},"#current cluster node uniquely identifies\nworkerId=DEFAULT_WORKER_1\n\n# Http prot for user to access REST API\nhttpPort=8082\n\n# Local file dir for config store\nstorePathRootDir=/Users/YourUsername/rocketmqconnect/storeRoot\n\n#\u9700\u8981\u4fee\u6539\u4e3a\u81ea\u5df1\u7684rocketmq nameserver \u63a5\u5165\u70b9\n# RocketMQ namesrvAddr\nnamesrvAddr=127.0.0.1:9876 \n\n# \u63d2\u4ef6\u5730\u5740\uff0c\u7528\u4e8eWorker\u52a0\u8f7dSource/Sink Connector\u63d2\u4ef6\n# rocketmq-connect \u5de5\u7a0b\u5df2\u9ed8\u8ba4\u5305\u542b rocketmq-connect-sample \u6a21\u5757\uff0c\u56e0\u6b64\u8fd9\u91cc\u65e0\u9700\u914d\u7f6e\u3002\npluginPaths=\n")),(0,r.yg)("p",null,"storePathRootDir\u914d\u7f6e\u8bf4\u660e\uff1a"),(0,r.yg)("p",null,"\u5355\u673a\u6a21\u5f0f\uff08standalone\uff09\u4e0b\uff0cRocketMQ Connect \u4f1a\u628a\u540c\u6b65\u4f4d\u70b9\u4fe1\u606f\u6301\u4e45\u5316\u5230\u672c\u5730\u6587\u4ef6\u76ee\u5f55 storePathRootDir\uff0c\u6301\u4e45\u5316\u6587\u4ef6\u5305\u62ec"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"key"),(0,r.yg)("th",{parentName:"tr",align:null},"description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"connectorConfig.json"),(0,r.yg)("td",{parentName:"tr",align:null},"connector\u914d\u7f6e\u6301\u4e45\u5316\u6587\u4ef6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"position.json"),(0,r.yg)("td",{parentName:"tr",align:null},"source connect\u6570\u636e\u5904\u7406\u8fdb\u5ea6\u6301\u4e45\u5316\u6587\u4ef6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"taskConfig.json"),(0,r.yg)("td",{parentName:"tr",align:null},"task\u914d\u7f6e\u6301\u4e45\u5316\u6587\u4ef6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"offset.json"),(0,r.yg)("td",{parentName:"tr",align:null},"sink connect\u6570\u636e\u6d88\u8d39\u8fdb\u5ea6\u6301\u4e45\u5316\u6587\u4ef6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"connectorStatus.json"),(0,r.yg)("td",{parentName:"tr",align:null},"connector \u72b6\u6001\u6301\u4e45\u5316\u6587\u4ef6")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},"taskStatus.json"),(0,r.yg)("td",{parentName:"tr",align:null},"task \u72b6\u6001\u6301\u4e45\u5316\u6587\u4ef6")))))}u.isMDXComponent=!0}}]);