2015-09-05 69 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