问题标签 [xdcr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
351 浏览

linux - Docker 容器中的 Couchbase XDCR

我需要有本地 Couchbase 集群并将我们的 prod 集群中的数据复制到它上面,不能将它直接安装在 OS X 上(因为 vbuckets 不兼容 - prod 集群在 linux 上)

用于救援的 Docker。我已经成功创建了 Dockerfile, 你可以在这里看到。

现在,集群运行,它可以在 LAN 内访问,所有必要的端口都在转发 -我使用了这里描述的技巧

我在 XDCR 选项卡中成功创建了集群引用,但是每当我尝试复制存储桶的数据时 - 它会将我的集群的主机名更改为一些无意义的 IP 地址并创建一个日志条目:

我知道 Couchbase 对 IP 地址非常敏感,如您所见,我使用的是我的机器的主机名(docker 容器的主机)。我尝试使用 更改容器的主机名docker run -h,但这似乎没有帮助。

任何人,你们是否将 XDCR 设置为在 docker 容器中运行的集群?

0 投票
0 回答
201 浏览

replication - Couchbase XDCR 继续在 ns_server.debug.log 中记录“not_my_vbucket”

我正在测试 Couchbase 3.1 的 XDCR 功能并不断收到错误消息,如下所述:

  1. 环境

集群 1 的 6 个虚拟机

集群 2 的 6 个虚拟机

从 cluster1 到 cluster2 的单向 XDCR。

两个集群中都有大约 900 MB 的测试数据。

  1. 从 Source(Cluster1) 的 XDCR 监控 UI(错误消息和日志仅显示在源集群上),它告诉 XDCR 正在进行但有错误,“状态”列显示“复制最后 10 个错误”。

单击“最后 10 个错误”后,会出现一个窗口,上面有许多类似的错误。

“复制 vbucket XXX 时出错。有关详细信息,请参阅日志。”

  1. 然后我检查了 ns_server.xdcr_errors.log 并发现了很多错误,如下所示:

[xdcr:error,2015-09-10T14:02:07.638,ns_1@1.2.3.4:<0.530.0>:xdc_vbucket_rep:terminate:497]复制(XMem 模式)8aaa3c6dc842ba99edeb624914e1a092/src-bkt01/dest-bkt01src-bkt01/989-> http://*****@4.3.2.1:8092/dest-bkt01%2B9caf5f56faf1f993b81e7654a3b421b3%2f989)失败。请参阅 ns_server 调试日志了解完成状态转储

  1. 然后我打开 ns_server.debug.log 进行检查,发现以下错误:

[error_logger:error,2015-09-10T14:03:56.705,ns_1@1.2.3.4:error_logger<0.6.0>:ale_error_logger_handler:do_log:203]** 通用服务器 <0.10121.312> 终止 ** 最后一条消息是{'EXIT',<0.12931.330>, {failed_write, {" 批量 1 个文档:刷新:0,拒绝(eexists):0;远程 memcached 错误:enoent:0,not-my-vb:1,无效: 0, tmp fail: 0, enomem: 0, others: 0", "他们的键错误:1 个键有 not_my_vbucket 错误([<<\"userEventCntrect.xwf-id.com2015092300000009\">>]);"} }}

  1. 我检查了两边的项目总数,两个集群的项目数量保持不变。

  2. 我还检查了 couchbase 的问题站点,错误信息为“not_my_vbucket”,试图找出它对我的系统问题的真正含义。

如果有任何意见和建议,请欣赏。

0 投票
2 回答
393 浏览

elasticsearch - elasticsearch transport-couchbase 插件拒绝端口 9091 上的连接

在我的服务器上,我安装了 elasticsearch-2.2.1 和 couchbase 服务器版本 4.1.0。目的是将数据从 couchbase 上的存储桶 x 传输到弹性搜索。

我已经在 elastic-search 上安装了 transport-couchbase 插件,它基本上允许 xdcr 从服务器到弹性搜索。

据我了解,transport-couchbase 默认侦听端口 9091,所以本质上我应该创建一个指向该端口的集群引用(couchbase 和弹性搜索都安装在同一台机器上)。

当我尝试创建引用时,出现内部服务器错误。日志没有给我太多关于这个问题的信息,我可以 ping 端口。但是,当我尝试在端口上远程登录机器时,它拒绝连接。

服务器位于代理后面,我开始认为问题出在 couchbase 服务器或弹性搜索(transport-couchbase 插件)

我在这里走投无路,但我想也许我应该配置插件,以便它接受通过代理的请求。如果这是问题,有没有办法将代理设置嵌入到插件中,以便它可以接受 xdcr 的连接?

PS:当我在一台不在代理后面的单独机器上完成整个过程时,一切正常。所以我强烈怀疑这是代理问题

0 投票
2 回答
214 浏览

elasticsearch - 双向 xdcr elasticsearch 和 couchbase

我对 elasticsearch 和 couchbase 很陌生,我想了解一些概念,以便决定如何在我的应用程序中使用它们。

我的整体问题:是否可以使用 transport-couchbase 插件在 couchbase 和 elasticsearch 之间配置双向 xdcr?

由于可以更新弹性搜索索引中的文档,因此我希望能够将该更新传播回 couchbase 服务器。有没有办法做到这一点?我在网上搜索了任何可以做到这一点的东西,到目前为止还没有运气......

0 投票
2 回答
237 浏览

regex - Couchbase xdcr 正则表达式 - 如何使用正则表达式排除键?

我正在尝试使用 XDCR 将某些文档排除在传输到 ES 之外。我有以下过滤 ABCD 和 IJ 的正则表达式

https://regex101.com/r/gI6sN8/11

现在,我想在 XDCR 过滤中使用这个正则表达式

^(?!. (ABCD|IJ))。$

在此处输入图像描述

如何使用正则表达式排除键?

编辑:
如果我想选择不包含 ABCDE 和 ABCHIJ 的所有内容怎么办。
我试过了

https://regex101.com/r/zT7dI4/1

0 投票
2 回答
80 浏览

couchbase - 如何在“无复制”的情况下在 Couch base 中创建文档?

嗨沙发基地专家,

我们有两个启用了复制的集群,我们想确定我们的 java 应用程序正在写入哪个集群。所以我们正在考虑为每个集群添加一个唯一的文档,然后我们可以查询文档以找出集群的名称。但问题是,随着复制的开启,两个文档都将在两个集群中可用,并且我们根据文档的存在来识别集群的逻辑将失败。有没有人遇到过类似的问题?我们可以关闭一组特定文档的复制吗?

0 投票
3 回答
232 浏览

security - 保护 ElasticSearch 和 Couchbase 的最佳实践

我一直在尝试尝试使用基本身份验证和 TLS 来保护 Elasticsearch 集群。

我已经使用 Search-Guard 成功地做到了这一点。问题发生在 Couchbase XDCR 到 Elasticsearch。

我正在使用一个名为 elasticsearch-transport-couchbase 的插件,如果没有在 Elasticsearch 集群上启用 TLS 和基本身份验证,它就非常好。但是当使用 Search-Guard 启用它时,我无法做到这一点。

据我所知,问题在于 elasticsearch-transport-couchbase 插件。之前在他们的Github repo上的一些问题中也讨论了这一点。

它也是我能找到的唯一一个可用于 Couchbase 的 XDCR 的插件。

我很好奇其他人对此的体验。有没有人和我一样的情况,并且能够使用 TLS 设置从 Couchbase 到 Elasticsearch 的 XDCR?

或者也许还有一些我错过的其他更合适的工具可以使用?

0 投票
2 回答
126 浏览

elasticsearch - 如何让 elasticsearch-transport-couchbase 与 ES5 + X-Pack 安全性一起使用

我正在从 ES 1.7 过渡到 5.x,但我遇到了 elasticsearch-transport-couchbase 插件的问题。它确实适用于带有 Shield 的 ES 1.7,并且它使用的凭据在 elasticsearch.yml 文件中指定:

ES 5.x 不再支持 shield.user 参数,我在文档中找不到如何设置它的任何地方。有人用 X-Pack 安全性对 ES 5.x 进行过 Couchbase XDCR 吗?有人知道如何设置吗?

谢谢,约西

0 投票
1 回答
414 浏览

java - 将 Couchbase 复制到 ElasticSearch(带多个索引)

目前我们正在使用 Couchbase 和 ElasticSearch(2.x) 并使用elasticsearch-transport-couchbase插件成功地将数据从 CB 复制到 ES。

升级到 ES 5.6.4 时出现问题。到目前为止,我们在 ES 中使用单个索引,由于 ElasticSearch不再推荐这种方法,我们现在尝试在 ES 中创建多个索引(每种类型的索引)这意味着我们需要一种复制方法从 CB(单个存储桶)到 ES(多个索引)的数据。

解决这个问题的最佳方法是什么?可能的解决方案:

  1. 继续使用 elasticsearch-transport-couchbase 插件,但是我们必须创建很多(~150)XDCR 复制,每种类型 1 个复制。我怀疑这会扩展..
  2. 使用 Spark 或 Kafka 编写我们自己的解决方案(它们都不在技术堆栈上,因此实施可能需要时间,所以这不是最有利的解决方案)

任何帮助,将不胜感激。

0 投票
1 回答
1354 浏览

redis - Redis active - 跨数据中心/Kubernetes 集群的主动复制

我在 Kubernetes 上部署了一个高可用的Redis服务(使用的 redis 版本是 4.0.9),具有 aof 持久性。三个哨兵节点监控一个主节点和两个从节点。我现在有以下用例:在不同的 Kubernetes 集群上部署两个上述类型的实例并保持它们同步。该设置应提供主动-主动复制。

到目前为止,我想出的可能解决方案是:

  1. 使用 Twitter 的twemproxy代理与 Kubernetes 中单独的 Redis 服务之间的请求。这种情况下的问题是 (afaik) twemproxy自动在可用的 Redis 节点/集群之间分片数据,因此上述配置中的主 Redis 节点在任何给定时间点都不会具有相同的数据集。
  2. 使用XDCRWithKafka。我还没有找到任何关于使用 XDCRWithKafka 的文档......
  3. 以几乎与使用 twemproxy 相同的方式使用HAProxy (同样,afaik,HAProxy 不支持请求多播)
  4. 一些自定义的 sln 描述在:http://grokbase.com/t/gg/redis-db/123nyg4rfp/multiple-master-going-to-one-slave(尽管保持 redis 集群与这样的解决方案同步处于活动状态时 - 活动状态似乎并不那么简单......)

有什么想法/建议吗?

在此先感谢,乔治