我在运行elasticsearch的服务器上通过80代理端口9200。我有一个需要将文档索引到此服务器的camel路由。
是否支持camel-elasticsearch插件?即通过非9300端口访问弹性搜索?
据我所知,端口9300使用本机弹性搜索传输协议。
我有什么选择?我可以通过apache代理9300吗?我不确定这是否有效。
或者camel-elasticsearch插件是否支持http传输?请帮忙。感谢。
答案 0 :(得分:0)
您所指的端口, HTTP port:
http.port
绑定端口范围。默认为9200-9300
。
http.publish_port
HTTP客户端与此节点通信时应使用的端口。当群集节点位于a后面时很有用 代理或防火墙和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_host
和http.publish_host
默认设置为http.host
或network.host
。
所以你真的不需要代理,你可以直接在端口80上使用elasticsearch。
如果您已在端口80上运行进程;然后你可以代理到9200的连接(并保留弹性搜索作为默认值)。
Java Transport Client ---> Apache HTTP代理(80)----> ES(9300)[可以 我这样做?据我所知,Java Transport Client使用非http 协议? ]
协议与端口无关。
只需将80
传递给InetSocketTransportAddress
即可。有关完整示例,请参阅documentation。