想要测试Elasticsearch,您可以在Elasticsearch服务平台上创建托管部署,或者在您自己的Linux,macOS亦或Windows机器上创建多节点的Elasticsearch集群。
在Elastic云服务器上运行Elasticsearch
在Elasticsearch Service上创建部署时,改服务与Kibana和APM一起预配上那个节点的集群。
创建部署:
- 注册一个试用账号并且通过邮箱认证;
- 为您的账户设置一个密码;
- 点击创建部署;
当你创建完一个部署之后,您就已经可以来索引文件了。
在本地Linux, macOS亦或Windows机器上运行Elasticsearch
当你在Elasticsearch云平台创建部署时,一个主节点和两个数据节点就自动预配置好了。而通过tar或者zip归档文件进行安装,您可以在本地启动多个Elasticsearch的应用实例来观察多节点集群时如何工作的。
通过一下步骤来运行本地多节点Elasticsearch集群:
- 根据你的操作系统下载Elasticsearch归档文件
Linux:elasticsearch-7.7.0-linux-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz
macOS: elasticsearch-7.7.0-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-darwin-x86_64.tar.gz
Windows: elasticsearch-7.7.0-windows-x86_64.zip
注意:如果再中国大陆境内下载速度受限,可以尝试通过华为开源镜像
)下载
- 解压文件:
Linux:
tar -xvf elasticsearch-7.7.0-linux-x86_64.tar.gz
macOS:
tar -xvf elasticsearch-7.7.0-darwin-x86_64.tar.gz
Windows PowerShell:
Expand-Archive elasticsearch-7.7.0-windows-x86_64.zip
- 从bin目录启动Elasticsearch:
Linux和macOS:
cd elasticsearch-7.7.0/bin
./elasticsearch
Windows:
cd elasticsearch-7.7.0\bin
.\elasticsearch.bat
现在您已经启动和运行了一个单节点的Elasticsearch的集群!
- 在启动两个Elasticsearch实例,这样您就可以了解典型的多节点集群时如何工作的。不过您需要给每一个节点指定唯一的数据和日志路径。
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健康监测API来验证你的三个节点集群已经启动并运行。cat API的返回信息中包含集群和索引的格式比纯JSON的数据更容易阅读。
你可以通过提交HTTP请求到Elasticsearch REST API来直接与集群进行交互。 如果你安装并于宁了Kibana,您还可以打开Kibana通过开发者控制台来提交请求。
提示:当您准备启动好在您自己的应用中使用Elasticsearch时,您可能希望查看Elasticsearch language clients
GET /_cat/health?v
#curl:
curl -X GET "localhost:9200/_cat/health?v&pretty"
#kibana console:
http://localhost:5601/app/kibana#/dev_tools/console?_g=()
返回的响应应该有指明当前Elasticsearch集群状态是green并且他有三个节点。
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%
注意:集群状态会一直是yellow如果您只运行一个Elasticsearch实例。单个节点集群是功能齐全的,但是数据不能被同步到另一个节点中以提供数据冗余。副本分片必须可用才能是集群状态变为green。如果集群状态是red,那么说明有部分数据是不可用的。
通过cURL命令行与Elasticsearch交互
本教程中大部分的例子都允许你直接拷贝cRUL命令,在命令行提交请求到您本地的Elasticsearch实例中。
任何一个访问Elasticsearch的HTTP请求都有一下部分组成:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
这个例子中用到了一下几个参数:
<VERB>
合适的HTTP 方法或者行为。 比如GET, POST, PUT, HEAD或者DELETE
<PROTOCOL>
http或者https中的一个。如果你在Elasticsearch之上有一层HTTPS代理或者您通过Elasticsearch安全特性来加密HTTP传输,那么就是用后者。
<HOST>
您Elasticsearch集群的任何一个节点的主机名。通常,使用localhost来访问您本底机器上的一个节点。
<PORT>
运行Elasticsearch HTTP服务端口,默认是9200。
<PATH>
API端点,可以包含多组件,比如_cluster/stats或者_nodes/stats/jvm。
<QUERY_STRING>
任何可选的查询语句参数。比如?pretty可以缩进打印返的JSON格式响应,让它变得更易阅读。
<BODY>
必要情况下,一个JSON的格式的请求BODY
如果Elasticsearch安全特性被启用,那么你就必须提供有效的用户名(和密码)以授权访问API。比如,通过-u或者—u的cURL命令行参数。 更多关于安全授权来运行API,可以参考REST APIs.
Elasticsearch使用HTTP状态码(比如200 OK)响应每个API请求。除HEAD请求外,它还返回JSON编码格式的响应主体。
其他可选安装
从存档文件安装Elasticsearch使您能够轻松地在本地安装和运行多个实例,以便您可以尝试一下。 要运行一个实例,您可以在Docker容器中运行Elasticsearch,在Linux上使用DEB或RPM软件包安装Elasticsearch,在macOS上使用Homebrew进行安装,或者在Windows上使用MSI软件包安装程序进行安装。 有关更多信息,请参见安装Elasticsearch。
网友评论