本地英文版地址: ../en/getting-started-install.html
要用 Elasticearch 做测试,你可以在 ElasticSearch Service 上创建一个 托管的部署 ,或者在你自己的 Linux、MacOS 或 Windows 机器上设置一个多节点 Elasticearch 集群。
在 Elastic 云上运行 Elasticsearch
当你在 ElasticSearch Service 上创建部署时,该服务提供了一个三节点的 Elasticearch 集群以及 Kibana 和 APM。
要创建部署,执行以下操作:
- 注册 免费试用 并验证你的 email 地址。
- 给你的账号设置密码。
- 点击 创建部署 (Create Deployment).
一旦创建好了部署, 就可以去 索引文档。
在本地 Linux, macOS, 或 Windows 上运行 Elasticsearch
在 ElasticSearch Service 上创建部署时,将自动预分配一个主节点和两个数据节点。 通过从 tar 或 zip 归档文件安装,你可以在本地启动多个 Elasticsearch 实例,以查看多节点集群的行为。
要本地安装一个 3 个节点的 Elasticsearch 集群,执行以下操作:
-
下载你的操作系统对应的 Elasticsearch 归档文件:
Linux: elasticsearch-7.7.1-linux-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz
macOS: elasticsearch-7.7.1-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-darwin-x86_64.tar.gz
-
解压文件:
Linux:
tar -xvf elasticsearch-7.7.1-linux-x86_64.tar.gz
macOS:
tar -xvf elasticsearch-7.7.1-darwin-x86_64.tar.gz
Windows PowerShell:
Expand-Archive elasticsearch-7.7.1-windows-x86_64.zip
-
从
bin
目录启动 Elasticsearch :Linux and macOS:
cd elasticsearch-7.7.1/bin ./elasticsearch
Windows:
cd elasticsearch-7.7.1\bin .\elasticsearch.bat
现在你有了一个单节点的 Elasticearch 集群启动并运行!
-
再启动两个 Elasticearch 实例,这样就可以看到一个典型的多节点集群是如何工作的。 你需要为每个节点指定唯一的数据和日志路径。
Linux 和 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 并通过 开发控制台(Dev Console) 发送请求。
当你准备在自己的应用程序中开始使用 Elasticearch 时,你会想要查看 ElasticSearch 语言客户端。
GET /_cat/health?v
响应应该表明
elasticsearch
集群的状态是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%
如果只运行了一个 Elasticearch 实例,则集群状态将保持为 yellow。 单节点的集群功能是齐全的,但不能将数据复制到另一个节点以提供弹性。 必须有副本碎片,才能使集群状态变为 green。 如果集群的状态时 red, 表示部分数据不可用。
用 cURL 命令与 Elasticearch 对话
本指南中的大多数示例都允许你复制适当的 cURL 命令,并从命令行将请求提交到本地的 Elasticsearch 实例。
一个对 Elasticsearch 的请求包含与任何HTTP请求相同的部分:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
这个示例中使用了如下的几个变量:
-
<VERB>
-
适当的HTTP方法或动词。比如,
GET
,POST
,PUT
,HEAD
, 或DELETE
. -
<PROTOCOL>
-
http
或者https
。 如果在 Elasticearch 前面有 HTTPS 代理,或者使用 Elasticsearch 安全特性加密 HTTP 通信,则使用后者。 -
<HOST>
-
Elasticsearch 集群中任何一个节点的主机名(hostname)。
本地计算机上的节点也可以使用
localhost
。 -
<PORT>
-
运行 ElasticSearch HTTP 服务的端口,默认为
9200
。 -
<PATH>
-
API 终端,可以包含多个组件,如
_cluster/stats
或_nodes/stats/jvm
. -
<QUERY_STRING>
-
任何可选的查询-字符串参数。
例如,
?pretty
将 美观的打印 (pretty-print) JSON 响应以使其更易于阅读。 -
<BODY>
- 一个 JSON 编码的请求体(如果需要)。
如果启用了 Elasticsearch 安全特性,则还必须提供一个具有运行 API 权限的有效用户名(和密码)。
例如,使用 cURL 命令的 -u
或 --u
参数。
有关运行每个 API 需要哪些安全权限的详细信息,请参阅 REST APIs。
ElasticSearch 使用 HTTP 状态代码响应每个 API 请求,比如 200 OK
。
除了 HEAD 请求之外,它还返回一个 JSON 编码的响应体。
其他安装选项
从归档文件安装 Elasticsearch 使你能够轻松地在本地安装并运行多个实例,以便进行尝试。 要运行单个实例,你可以在 Docker 容器中运行 Elasticearch,在 Linux 上使用 DEB 或 RPM 包安装 Elasticearch,在 MacOS 上使用 Homebreer 安装,或者在 Windows 上使用 MSI 包安装程序安装。 更多信息参考 安装 Elasticsearch。