gpt4 book ai didi

rest - 向 EC2 实例上运行的 ElasticSearch 服务发送请求

转载 作者:行者123 更新时间:2023-12-02 22:46:07 26 4
gpt4 key购买 nike

我是 AWS 和 ElasticSearch 的初学者,正在玩 ElasticSearch,希望能更多地了解如何在生产中使用它。我知道 AWS 有自己的 ElasticSearch 产品,但我想启动我自己的 EC2 实例并自己设置 ElasticSearch 只是为了了解更多信息。

通过关注 elastic.co's instructions,我已在我的 EC2 实例上启动并运行 ElasticSearch .我启动了我的 ES 服务并执行了 curl 命令:

$ curl localhost:9200/_cluster/health?pretty

我得到了一个有效的回复:
{
"cluster_name" : "elasticsearch",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}

但是,我一直在尝试远程发送相同的请求,并且正在超时:
curl http://MY-EC2-INSTANCE-IP-ADDRESS:9200/_cluster/health?pretty

curl: (7) Failed to connect to XX.XX.XXX.XX port 9200: Operation timed out

当我创建我的 EC2 实例时,我确保在我的安全组中指定一个 HTTP 选项。我在下面附上了截图:
enter image description here

此外,我还进行了测试以确保 HTTP 确实有效。我使用 service httpd start 启动了我自己的小型 Apache 服务器。 , 并放置一个小的 index.html文件在 /var/www/html , 用一个简单的

Hello, this is an elastic search.



文字填充物。当我访问我的 EC2 实例 IP 地址时,我得到了正确的 index.html 文本呈现:

enter image description here

我知道 AWS 自己的 ElasticSearch 服务直接为用户提供端点,没有端口号(或至少一个默认端口号)。但令人惊讶的是,关于如何向远程 ES 服务发送请求的文档很少(几乎所有这些服务都以 localhost:9200 为例)。

向 EC2 实例上的 ElasticSearch 服务发送请求的正确协议(protocol)是什么?

最佳答案

您还需要在安全组中打开端口 9200。您的示例是使用端口 9200 进行连接。

关于rest - 向 EC2 实例上运行的 ElasticSearch 服务发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47192007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com