您的位置:首页 > 数据库 > Mongodb

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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: