要将Elasticsearch用于测试驱动器,您可以在Elasticsearch服务上创建托管部署,或者在您自己的Linux、macOS或Windows机器上设置多节点Elasticsearch集群。

在Elastic Cloud上运行Elasticsearch

当您在Elasticsearch Service上创建一个部署时,该服务提供一个包含三个节点的Elasticsearch集群以及Kibana和APM。

创建一个部署:

  1. 免费试用并验证您的电子邮件地址。
  2. 为你的帐户设置密码。
  3. 单击创建部署。

一旦创建了部署,就可以对一些文档进行索引了。

在Linux、macOS或Windows上运行Elasticsearch

在Elasticsearch Service上创建部署时,将自动提供一个主节点和两个数据节点。通过从tar或zip归档安装,您可以在本地启动多个Elasticsearch实例,以查看多节点集群的行为。

要在本地运行一个三节点的Elasticsearch集群:

1.下载您的操作系统的Elasticsearch档案:
Linux: elasticsearch-7.6.2-linux-x86_64.tar.gz

  1. curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz

macOS: elasticsearch-7.6.2-darwin-x86_64.tar.gz

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-darwin-x86_64.tar.gz

Windows: elasticsearch-7.6.2-windows-x86_64.zip

2.提取档案:
Linux:

tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz

macOS:

tar -xvf elasticsearch-7.6.2-darwin-x86_64.tar.gz

Windows PowerShell:

Expand-Archive elasticsearch-7.6.2-windows-x86_64.zip

3.从bin目录启动Elasticsearch:

Linux and macOS:

cd elasticsearch-7.6.2/bin
./elasticsearch

Windows:

cd elasticsearch-7.6.2\bin
.\elasticsearch.bat

现在有一个单节点Elasticsearch集群正在运行!

4.启动另外两个Elasticsearch实例,以便了解典型的多节点集群的行为。您需要为每个节点指定惟一的数据和日志路径。

Linux and macOS:

./elasticsearch -Epath.data=data2 -Epath.logs=log2
./elasticsearch -Epath.data=data3 -Epath.logs=log3

Windows:

.\elasticsearch.bat -E path.data=data2 -E path.logs=log2
.\elasticsearch.bat -E path.data=data3 -E path.logs=log3

额外的节点被分配唯一的id。因为您在本地运行所有三个节点,所以它们会自动与第一个节点加入集群。

使用cat health API来验证您的三节点集群是否正在运行。cat api以一种比原始JSON更易于阅读的格式返回关于集群和索引的信息。

通过向Elasticsearch REST API提交HTTP请求,您可以直接与集群交互。如果您已经安装并运行了Kibana,您还可以打开Kibana并通过开发控制台提交请求。

  • 提示:当您准备好在自己的应用程序中开始使用Elasticsearch时,您将需要检查Elasticsearch语言客户机
    GET /_cat/health?v
    
    响应应该表明elasticsearch集群的状态为绿色,有三个节点: ``` epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1565052807 00:53:27 elasticsearch green 3 3 6 3 0 0 0 0 - 100.0%

- 注意:如果只运行一个Elasticsearch实例,则集群状态将保持黄色。单个节点集群功能齐全,但无法将数据复制到另一个节点以提供弹性。要使集群状态为绿色,副本碎片必须可用。如果集群状态为红色,则某些数据不可用。
<a name="eKH2Q"></a>
## 用cURL命令和Elasticsearch对话
本指南中的大多数示例都允许您从命令行复制适当的cURL命令并将请求提交给本地Elasticsearch实例。

对Elasticsearch的请求包含与任何HTTP请求相同的部分:
```http
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

这个例子使用了以下变量:

适当的HTTP方法或动词。例如,GET、POST、PUT、HEAD或DELETE。

http或https。如果在Elasticsearch前面有一个HTTPS代理,或者使用Elasticsearch安全特性加密HTTP通信,则使用后者。

Elasticsearch集群中任何节点的主机名。或者,在您的本地机器上使用localhost作为节点。

运行Elasticsearch HTTP服务的端口,默认为9200。

API端点,它可以包含多个组件,比如_cluster/stats或_nodes/stats/jvm。

任何可选的查询字符串参数。例如,?pretty将对JSON响应进行美化打印,使其更易于阅读。

JSON编码的请求体(如果需要)。

如果启用了Elasticsearch安全特性,您还必须提供一个有权运行API的有效用户名(和密码)。例如,使用-u或——u cURL命令参数。有关运行每个API需要哪些安全特权的详细信息,请参阅REST API

Elasticsearch使用HTTP状态码(比如200 OK)响应每个API请求。除了HEAD请求之外,它还返回json编码的响应体。

其他安装选项

从归档文件安装Elasticsearch使您能够轻松地在本地安装和运行多个实例,这样您就可以进行尝试。要运行单个实例,您可以在Docker容器中运行Elasticsearch,在Linux上使用DEB或RPM包安装Elasticsearch,在macOS上使用自制程序安装,或者在Windows上使用MSI包安装程序安装。有关更多信息,请参见安装Elasticsearch