如何检查Elasticsearch是否正在使用CURL运行



我已经下载了最新的ElasticSearch&Kibana到我的本地机器(Ubuntu 20(。

提取后,执行bin/elasticsearch&bin/kibana

执行成功,我可以在浏览器http://localhost:5601/中打开运行良好的kibana

但从CLI中,使用CURL命令无法访问CURL-XGEThttp://localhost:9200/`

在我遵循的文件中编写了一个命令来检查elasticsearch是否已启动并正在运行。

curl --cacert $ES_PATH_CONF/tls_auto_config_<timestamp>/http_ca.crt -u elastic https://localhost:9200

但我不明白$ES_PATH_CONF/tls_auto_config_<timestamp>是什么。

有人能帮帮我吗?

我假设您已经按照以下步骤按照文档在Linux上进行了安装。

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.0.1-linux-x86_64.tar.gz
tar -xzvf elasticsearch-8.0.1-linux-x86_64.tar.gz
cd elasticsearch-8.0.1
./bin/elasticsearch

根据此步骤,您必须处于elasticsearch-8.0.1中。

/elasticsearch-8.0.1-ES_HOME文件夹
/elasticsearch-8.0.1/config-ES_PATH_CONF文件夹
/elasticsearch-8.0.1/config/certs/http_ca.crt-HTTP CA证书。

当您第一次启动Elasticsearch时,会为elastic用户生成密码,并自动为您配置TLS。

在另一个终端窗口或选项卡中打开相同的路径。

因此,您需要将http_ca.crt路径传递给curl命令,如下所示。

curl --cacert config/certs/http_ca.crt -u "elastic:password" https://localhost:9200

还可以设置环境变量。

export ES_HOME=/path-to-ES_HOME/elasticsearch-8.0.1
export ES_PATH_CONF=/path-to-ES_HOME/elasticsearch-8.0.1/config

您可以在curl 中直接使用环境变量

curl --cacert $ES_PATH_CONF/certs/http_ca.crt -u "elastic:password" https://localhost:9200

安装弹性搜索时,password必须已显示。如果您没有注意到,您可以使用以下命令进行更改:

bin/elasticsearch-reset-password -u elastic

你可以在这里参考更多https://www.elastic.co/guide/en/elasticsearch/reference/current/targz.html#_check_that_elasticsearch_is_running

我的猜测是,您还没有安装任何证书,只需使用下面的命令即可。

curl -u elastic https://localhost:9200