2015-09-05 49 views
0

我有我的服务器上运行elasticsearch端口9200代理通过80。我有一条骆驼路线,需要将文件索引到此服务器。骆驼elasticsearch访问端口80

是否支持camel-elasticsearch插件?即通过非9300端口访问弹性搜索?

据我所知,端口9300使用本地elasticsearch传输协议。

我在这里有什么选择?我可以通过Apache代理9300吗?我不确定这是否有效。

或者camel-elasticsearch插件是否支持http传输?请帮忙。谢谢。

回答

0

你是指港口,它HTTP port

http.port绑定端口范围。默认为9200-9300

http.publish_port是HTTP客户端与此节点通信时应该使用的端口。当群集节点位于 代理或防火墙的后面并且http.port不能从外部的 直接寻址时很有用。默认为通过http.port分配的实际端口。

http.bind_host将HTTP服务绑定到的主机地址。默认为http.host(如果设置)或network.bind_host

http.publish_host要发布的HTTP客户端连接到的主机地址。默认为http.host(如果设置)或 network.publish_host

http.host用于将http.bind_hosthttp.publish_host默认设置为http.hostnetwork.host

所以,你真的不需要代理,您可以直接在端口80

elasticsearch听如果你已经在端口80上运行的过程;那么你可以代理连接到9200(并保留弹性搜索作为默认值)。


的Java客户端运输--->的Apache HTTP代理(80)----> ES(9300)可以 我做到这一点?据我所知,Java传输客户端使用非http协议? ]

该协议与端口无关。

只需将80改为InetSocketTransportAddress即可。完整的示例请参阅documentation

+0

据我所知,9200是elasticsearch的http端口,可以通过端口80代理。但我的问题是,如果我要在防火墙外使用Elasticsearch Java API(使用端口9300的传输客户端),我有什么选择? – user1189332

+0

我不知道你在这里问什么。如果您担心端口9300可能会阻止您的_client_,则将您的客户端配置为在端口80上查询;这是你想要做什么,并卡住? –

+0

'Java传输客户端---> Apache HTTP代理(80)----> ES(9300)[我可以这样做吗?据我所知,Java传输客户端使用非HTTP协议? ]' – user1189332