我正在尝试将我的本地ElasticSearch5与AWS远程服务器连接但是我在端口80上连接时遇到问题(获取所有已配置的节点都没有错误)但是我能够使用cURL请求进行访问。
我在ElasticSearch上使用传输客户端进行连接,这是问题吗?有没有办法解决这个问题?
以下是错误消息:
SELECT s.CustId, s.CustName, s.ProductId, m.TotalOrderTaken
FROM (SELECT p.CustId, p.CustName, t.ProductId, COUNT(*) AS ProductIdCount
FROM #Cust AS p
JOIN #Orders AS t
ON p.CustId = t.CustId
GROUP BY p.CustId, p.CustName, t.ProductId
) AS s
JOIN (SELECT s.CustId, MAX(s.ProductIdCount) AS MaxProductIdCount, sum(s.ProductIdCount) TotalOrderTaken
FROM (
SELECT p.CustId,p.CustName, t.ProductId, COUNT(*) AS ProductIdCount
FROM #Cust AS p
JOIN #Orders AS t
ON p.CustId = t.CustId
GROUP BY p.CustId, p.CustName, t.ProductId
) AS s
GROUP BY s.CustId
) AS m
ON s.CustId = m.CustId AND s.ProductIdCount = m.MaxProductIdCount
答案 0 :(得分:2)
Elasticsearch有两个默认端口用于外部通信,首先是9200用于HTTP请求(好像你将它映射到端口80或使用反向代理),第二个9300用于内部通信 - 在群集节点之间。 您确定打开了入站端口9300的安全组吗?
有关传输模块的更多详细信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html