Elastic SearchElastic SearchElastic Search 笔记

启动并运行Elasticsearch

2020-03-10  本文已影响0人  Vekaco

想要测试Elasticsearch,您可以在Elasticsearch服务平台上创建托管部署,或者在您自己的Linux,macOS亦或Windows机器上创建多节点的Elasticsearch集群。

在Elastic云服务器上运行Elasticsearch

在Elasticsearch Service上创建部署时,改服务与Kibana和APM一起预配上那个节点的集群。

创建部署:

  1. 注册一个试用账号并且通过邮箱认证;
  2. 为您的账户设置一个密码;
  3. 点击创建部署;

当你创建完一个部署之后,您就已经可以来索引文件了。

在本地Linux, macOS亦或Windows机器上运行Elasticsearch

当你在Elasticsearch云平台创建部署时,一个主节点和两个数据节点就自动预配置好了。而通过tar或者zip归档文件进行安装,您可以在本地启动多个Elasticsearch的应用实例来观察多节点集群时如何工作的。

通过一下步骤来运行本地多节点Elasticsearch集群:

  1. 根据你的操作系统下载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

注意:如果再中国大陆境内下载速度受限,可以尝试通过华为开源镜像
)下载

  1. 解压文件:
    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
  1. 从bin目录启动Elasticsearch:
    Linux和macOS:
cd elasticsearch-7.7.0/bin
./elasticsearch

Windows:

cd elasticsearch-7.7.0\bin
.\elasticsearch.bat

现在您已经启动和运行了一个单节点的Elasticsearch的集群!

  1. 在启动两个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。因为这三个节点都运行在本地,所以他们自动的就加入到了第一个节点的集群中。

  1. 通过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

上一篇下一篇

猜你喜欢

热点阅读