MongoDB——mongo-connector同步
2016-09-07 10:18
447 查看
引言:
验证表明:mongo-connector工具支持MongoDB与ES之间的实时增insert、删delete、改update操作。 对于历史数据,mongo-connector工具不能同步到ES中,根因是本身工具不支持(初步界定),还是没有这种场景,待查(进一步研究后再更新)。
1. mongo-connector 地址:
https://github.com/mongodb-labs/mongo-connector
2、 mongo-connector 工具简介
mongo-connector工具创建一个从MongoDB簇到一个或多个目标系统的管道,目标系统包括:Solr,Elasticsearch,或MongoDB簇。 该工具在MongoDB与目标系统间同步数据,并跟踪MongoDB的oplog,保持操作与MongoDB的实时同步。
该工具已经在python2.6,2.7,3.3+下进行验证。
mongo-connector工具是基于python开发的实时同步服务工具。它要求mongo运行在replica-set模式,且需要 elastic2_doc_manager将数据写入ES。
3、 elastic2-doc-manager 工具简介
这是Elastic2.x版本的文档管理器。对应Elastic1.x版本需要使用 elastic-doc-manager。
4、ES与MongoDB同步步骤:
(1)安装 mongo-connector。
pip install mongo-connector
(2)安装 elastic2-doc-manager。
pip install elastic2-doc-manager注意:
如果不安装(2)直接进入(3)、(4)则会报错:
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root<span class="hljs-localvars" style="box-sizing: border-box;">@5</span>b9dbaaa148a bin]<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># mongo-connector -m 10.8.5.99:27017 -t 10.8.5.101:9200 -d elastic2_doc_manager</span> Logging to mongo-connector<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.log</span>. Exception <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> thread Thread-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>: Traceback (most recent <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">call</span> last): File <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/usr/lib64/python2.6/threading.py"</span>, line <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">532</span>, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> __bootstrap_inner self<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.run</span>()</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>
(3)mongo端启动
MongoDB 必须开启复制集,如果已经开启请忽略这一步:
1)通过 –replSet 设定副本集名称。
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@b48eafd69929</span> bin]<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># ./mongod --replSet "rs0"</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
2)将mongo与副本集成员连接
<code class="hljs applescript has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root@b48eafd69929 bin]<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># ./mongo</span> MongoDB shell <span class="hljs-property" style="box-sizing: border-box;">version</span>: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.2</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span> connecting <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span>: test Server has startup warnings: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.330</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** WARNING: You are <span class="hljs-property" style="box-sizing: border-box;">running</span> this process <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">as</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> root user, which <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> recommended. <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.330</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.331</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.331</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** WARNING: You are <span class="hljs-property" style="box-sizing: border-box;">running</span> <span class="hljs-function_start" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">on</span></span> a NUMA machine. <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.331</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** We suggest launching mongod like this <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> avoid performance problems: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** numactl <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--interleave=all mongod [other options]</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> 'always'. <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** We suggest setting <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">it</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> 'never' <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> 'always'. <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten] ** We suggest setting <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">it</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> 'never' <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">05</span>T09:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">49</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01.332</span>+<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0100</span> I CONTROL [initandlisten]</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li></ul>
3)初始化副本集
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">> rs<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.initiate</span>() { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"info2"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"no configuration specified. Using a default configuration for the set"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"me"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"b48eafd69929:27017"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"ok"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>
4)【验证】初始化副本集的配置
<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">rs0:SECONDARY> rs.<span class="hljs-function" style="box-sizing: border-box;">conf</span>() { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"rs0"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"version"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"protocolVersion"</span> : NumberLong(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"members"</span> : [ { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"host"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"b48eafd69929:27017"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"arbiterOnly"</span> : <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">false</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"buildIndexes"</span> : <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">true</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hidden"</span> : <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">false</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"priority"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"tags"</span> : { }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"slaveDelay"</span> : NumberLong(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"votes"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> } ], <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"settings"</span> : { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chainingAllowed"</span> : <span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">true</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"heartbeatIntervalMillis"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2000</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"heartbeatTimeoutSecs"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"electionTimeoutMillis"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10000</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"getLastErrorModes"</span> : { }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"getLastErrorDefaults"</span> : { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"w"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"wtimeout"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"replicaSetId"</span> : ObjectId(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b74bd0ba41a313110ad62"</span>) } }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li></ul>
5)【验证】副本集的状态。
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-label" style="box-sizing: border-box;">rs0:</span>PRIMARY> rs<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.status</span>() { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"set"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"rs0"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"date"</span> : ISODate(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-05T08:50:55.272Z"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"myState"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"term"</span> : NumberLong(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"heartbeatIntervalMillis"</span> : NumberLong(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2000</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"members"</span> : [ { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"b48eafd69929:27017"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"health"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"state"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"stateStr"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"PRIMARY"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"uptime"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">115</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"optime"</span> : { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"ts"</span> : Timestamp(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1467708606</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"t"</span> : NumberLong(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>) }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"optimeDate"</span> : ISODate(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-05T08:50:06Z"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"infoMessage"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"could not find member to sync from"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"electionTime"</span> : Timestamp(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1467708605</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"electionDate"</span> : ISODate(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-05T08:50:05Z"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"configVersion"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"self"</span> : true } ], <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"ok"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li></ul>
(4)ES端同步操作
<code class="hljs css has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-attr_selector" style="color: rgb(0, 136, 0); box-sizing: border-box;">[root@5b9dbaaa148a bin]</span># <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">mongo-connector</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">-m</span> 10<span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.8</span><span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.5</span><span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.99</span><span class="hljs-pseudo" style="color: rgb(0, 0, 0); box-sizing: border-box;">:27017</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">-t</span> 10<span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.8</span><span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.5</span><span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.101</span><span class="hljs-pseudo" style="color: rgb(0, 0, 0); box-sizing: border-box;">:9200</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">-d</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">elastic2_doc_manager</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">Logging</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">to</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">mongo-connector</span><span class="hljs-class" style="box-sizing: border-box; color: rgb(155, 112, 63);">.log</span>.</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>
参数含义:
-m: mongodb的地址与端口,端口默认为27017。
-t:ES的地址与端口,端口默认为9200。
-d:doc manager的名称,2.x版本为: elastic2-doc-manager。
5、ES与MongoDB Insert插入操作的同步验证
(1)Mongo端插入数据操作:
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#Mongo创建数据库(对应ES的Index)</span> <span class="hljs-label" style="box-sizing: border-box;">rs0:</span>PRIMARY> use zhang_index switched to db zhang_index <span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">#Mongo中插入数据(其中col_02对应ES中的Type)</span> <span class="hljs-label" style="box-sizing: border-box;">rs0:</span>PRIMARY> db<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.col</span>_02<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.insert</span>({name:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"laoluo"</span>, birth:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, sex:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span>, company:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span>})<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">;</span> WriteResult({ <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"nInserted"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> }) <span class="hljs-label" style="box-sizing: border-box;">rs0:</span>PRIMARY> db<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.col</span>_02<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.insert</span>({name:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"renzhengfei"</span>, birth:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1954-03-21"</span>, sex:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span>, company:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"huawei"</span>})<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">;</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li></ul>
(2)Es端检索验证
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@5b9dbaaa148a</span> test_log]<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># curl -XGET http://10.8.5.101:9200/zhang_index/col_02/_search?pretty</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"took"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"timed_out"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_shards"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"total"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"successful"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"failed"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hits"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"total"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"max_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hits"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> [ { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_index"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"zhang_index"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_type"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"col_02"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d8ceb8e3dc2d1db12a9"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_source"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"huawei"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"renzhengfei"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1954-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span> } }, { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_index"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"zhang_index"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_type"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"col_02"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d4aeb8e3dc2d1db12a7"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_source"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"laoluo"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span> } } ] } }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li></ul>
6、 ES与MongoDB Update更新操作的同步验证
(1)MongoDB的更新update操作
<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">rs0:PRIMARY> db.col_02.update({<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'name'</span>:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'laoluo'</span>}, {<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$set</span>:{<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'name'</span>:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'luoyonghao'</span>}}) WriteResult({ <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"nMatched"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"nUpserted"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"nModified"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> }) rs0:PRIMARY> rs0:PRIMARY> db.col_02.find().<span class="hljs-function" style="box-sizing: border-box;">pretty</span>() { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : ObjectId(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d4aeb8e3dc2d1db12a7"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"luoyonghao"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span> } { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : ObjectId(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d8ceb8e3dc2d1db12a9"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"renzhengfei"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1954-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"huawei"</span> }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li></ul>
(2)Es端检索更新后结果
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@5b9dbaaa148a</span> test_log]<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># curl -XGET http://10.8.5.101:9200/zhang_index/col_02/_search?pretty</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"took"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"timed_out"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_shards"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"total"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"successful"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"failed"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hits"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"total"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"max_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hits"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> [ { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_index"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"zhang_index"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_type"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"col_02"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d8ceb8e3dc2d1db12a9"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_source"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"huawei"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"renzhengfei"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1954-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span> } }, { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_index"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"zhang_index"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_type"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"col_02"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d4aeb8e3dc2d1db12a7"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_source"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"luoyonghao"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span> } } ] } }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li></ul>
7、 ES与MongoDB delete删除操作的同步验证
(1) MongoDB的删除delete操作
<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">rs0:PRIMARY> db.col_02.remove({<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'name'</span>:<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'renzhengfei'</span>}) WriteResult({ <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"nRemoved"</span> : <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> }) rs0:PRIMARY> db.col_02.<span class="hljs-function" style="box-sizing: border-box;">find</span>() { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : ObjectId(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d4aeb8e3dc2d1db12a7"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"luoyonghao"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span> } rs0:PRIMARY> db.col_02.find().<span class="hljs-function" style="box-sizing: border-box;">pretty</span>() { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> : ObjectId(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d4aeb8e3dc2d1db12a7"</span>), <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"luoyonghao"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span> }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li></ul>
(2)ES端检索删除后结果
结果表明,MongoDB删除的内容,ES端已经同步删除。<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@5b9dbaaa148a</span> test_log]<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># curl -XGET http://10.8.5.101:9200/zhang_index/col_02/_search?pretty</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"took"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"timed_out"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_shards"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"total"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"successful"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"failed"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> }, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hits"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"total"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"max_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hits"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> [ { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_index"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"zhang_index"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_type"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"col_02"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_id"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"577b7d4aeb8e3dc2d1db12a7"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_score"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"_source"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> { <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"company"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"chuizi"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"name"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"luoyonghao"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birth"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"1964-03-21"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sex"</span> <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"man"</span> } } ] } }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li></ul>
参见详细介绍:
https://docs.mongodb.com/manual/tutorial/deploy-replica-set/
Mongo与ES同步的5种方式:
https://www.linkedin.com/pulse/5-way-sync-data-from-mongodb-es-kai-hao
常见Bug:
How to setup a MongoDB replica set for the connector? https://docs.mongodb.com/manual/tutorial/deploy-replica-set/
原文地址: http://blog.csdn.net/laoyang360/article/details/51842822
相关文章推荐
- mongo-connector实现MongoDB与elasticsearch实时同步深入详解
- MongoDB——mongo-connector同步到ES
- Mongodb数据库导入数据到elasticsearch,mongo-connector实现mongodb与elastic数据同步
- MongoDB 数据同步至 ElasticSearch (Mongo-connector)
- 使用mongo-connector实现mongoDB 和solr 同步数据
- mongo-connector同步mongoDB到ElasticSearch
- ES-MongoDB学习错误1_Could not import mongo_connector.doc_managers.elastic_doc_manager
- ES-MongoDB学习7_CentOS6.5下Mongo-connector的安装和操作
- mongo-connector来同步mongo
- Nodejs:mongo-connector同步mongo数据;使用elasticsearch搜索
- Mongo-connector集成MongoDB到Solr实现增量索引
- 自制搜索(elasticsearch安装,mongo-connector同步数据,python操作)
- 第81篇ES之更新题库到索引(二)及mongo数据库操作及mongo-connector同步及compact及count
- Nodejs:mongo-connector同步mongo数据;使用elasticsearch搜索
- Solr(搜索引擎服务)和MongoDB通过mongodb-connector进行数据同步的解决方案,以及遇到的各种坑的总结(针对solr-5.3.x版本),mongodb和solr实现实时增量索引
- MongoDB——mongo-connector实例使用(for elasticsearch)
- ES-MongoDB学习4_mongo-connector原理及改造
- mongo-connector实现MongoDB和Elasticsearch数据同步
- 微服务MySQL分库分表数据到MongoDB同步方案