2

在我的服务器上,我安装了 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:当我在一台不在代理后面的单独机器上完成整个过程时,一切正常。所以我强烈怀疑这是代理问题

4

2 回答 2

2

如果您无法 telnet 或浏览到端口 9091,这很可能表明存在网络配置问题。插件绑定到 elasticsearch 绑定的接口。首先要检查的是 elasticsearch.yml 中的 bind_host 和 publish_host 是否配置为绑定到一个接口,该接口允许从代理所在的任何位置进行连接,并且代理确实在该接口上连接。

于 2016-05-12T12:42:56.763 回答
0

github中有一个线程用于传输插件中的错误,它可能不会绑定到所有接口: https ://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/134

上述解决方案对我不起作用,但是我在 /etc/elasticsearch/jvm.options 中添加了这一行: -Djava.net.preferIPv4Stack=true ,它似乎解决了我的问题

于 2018-03-02T16:57:17.603 回答