在我的服务器上,我安装了elasticsearch-2.2.1和couchbase服务器版本4.1.0。目的是将数据从沙发基地的桶x转移到弹性搜索。
我已经在elastic-search上安装了transport-couchbase插件,它基本上允许服务器的xdcr进行弹性搜索。
据我了解,transport-couchbase默认侦听端口9091,所以本质上我应该创建一个指向该端口的群集引用(couchbase和弹性搜索都安装在同一台机器上)。
当我尝试创建引用时,我收到内部服务器错误。日志没有给我很多关于这个问题的信息,我可以ping这个端口。但是,当我尝试在端口上telnet机器时,它拒绝连接。
服务器位于代理后面,我开始认为问题出在couchbase服务器或elasticsearch(transport-couchbase插件)中
我在这里走出困境,但我想也许我应该配置插件,以便它接受通过代理的请求。如果这是问题,有没有办法将代理设置嵌入到插件中,以便它可以接受xdcr的连接?
PS:当我在一台不在代理服务器后面的单独机器上完成整个过程时,一切正常。所以我强烈怀疑它是代理问题
答案 0 :(得分:2)
如果您无法远程登录或浏览到端口9091,则很可能表示网络配置问题。该插件绑定到elasticsearch绑定的接口。要检查的第一件事是elasticsearch.yml中的bind_host和publish_host被配置为绑定到一个接口,该接口允许来自代理所在位置的连接,并且代理实际上是在该接口上连接。
答案 1 :(得分:0)
github中有一个线程用于传输插件中的错误,它可能无法绑定到所有接口: https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/134
以上解决方案对我不起作用,但我添加了这一行: -Djava.net.preferIPv4Stack =真 to /etc/elasticsearch/jvm.options似乎解决了我的问题