探索集群健康和创建数据

REST API编辑

现在我们已经启动并运行了节点(和集群),下一步是了解如何与它进行通信。幸运的是,Elasticsearch提供了一个非常全面和强大的REST API,您可以使用它与集群进行交互。使用API​​可以完成的一些事项如下:

  • 检查群集,节点和索引运行状况,状态和统计信息
  • 管理您的群集,节点和索引数据和元数据
  • 对索引执行CRUD(创建,读取,更新和删除)和搜索操作
  • 执行高级搜索操作,例如分页,排序,过滤,脚本编写,聚合等等

 

 

 


群集运行状况编辑

让我们从基本运行状况检查开始,我们可以使用它来查看集群的运行情况。我们将使用curl来执行此操作,但您可以使用任何允许您进行HTTP / REST调用的工具。假设我们仍然在我们启动Elasticsearch的同一节点上打开另一个命令shell窗口。

要检查群集运行状况,我们将使用_catAPI。您可以 通过单击“查看控制台”或单击下面的“COPY AS CURL”链接并将其粘贴到终端中,在Kibana控制台中运行以下命令curl

GET /_cat/health?v

回应:

epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1475247709 17:01:49 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%

 

我们可以看到名为“elasticsearch”的群集处于绿色状态。

每当我们要求群集健康时,我们要么获得绿色,黄色或红色。

  • 绿色 - 一切都很好(集群功能齐全)
  • 黄色 - 所有数据均可用,但尚未分配一些副本(群集功能齐全)
  • 红色 - 某些数据由于某种原因不可用(群集部分功能)

注意:当群集为红色时,它将继续提供来自可用分片的搜索请求,但您可能需要尽快修复它,因为存在未分配的分片。

同样从上面的响应中,我们可以看到总共1个节点,并且我们有0个分片,因为我们还没有数据。请注意,由于我们使用的是默认群集名称(elasticsearch),并且由于Elasticsearch默认使用单播网络发现来查找同一台计算机上的其他节点,因此您可能会意外启动计算机上的多个节点并拥有它们所有人都加入一个集群。在这种情况下,您可能会在上面的响应中看到多个节点。

 

我们还可以获得群集中的节点列表,如下所示:
GET /_cat/nodes?v

回应:

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           10           5   5    4.46                        mdi      *      PB2SGZY

在这里,我们可以看到一个名为“PB2SGZY”的节点,它是我们集群中当前的单个节点。

 

列出所有指数编辑

现在让我们来看看我们的指数:

GET / _cat / indices?v

 

并回应:

健康状况索引uuid pri rep docs.count docs.deleted store.size pri.store.size

这仅仅意味着我们在集群中还没有索引

 


创建索引编辑

现在让我们创建一个名为“customer”的索引,然后再次列出所有索引:

PUT /customer?pretty
GET /_cat/indices?v

 

第一个命令使用PUT动词创建名为“customer”的索引。我们只是追加pretty到调用的末尾,告诉它打印JSON响应(如果有的话)。

并回应:

health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   customer 95SQ4TSUT7mWBT7VNHH67A   5   1          0            0       260b           260b

第二个命令的结果告诉我们,我们现在有一个名为customer的索引,它有5个主分片和1个副本(默认值),并且它包含0个文档。

您可能还注意到客户索引标记了黄色运行状况。回想一下我们之前的讨论,黄色表示某些副本尚未(尚未)分配。此索引发生这种情况的原因是因为默认情况下Elasticsearch为此索引创建了一个副本。由于我们目前只有一个节点在运行,因此在另一个节点加入集群的较晚时间点之前,尚无法分配一个副本(用于高可用性)。将该副本分配到第二个节点后,此索引的运行状况将变为绿色。

 

 


索引和查询文档编辑

现在让我们在客户索引中加入一些内容。我们将一个简单的客户文档索引到客户索引中,ID为1,如下所示:

PUT /customer/doc/1?pretty
{
  "name": "John Doe"
}

 

并回应:

{
  "_index" : "customer",
  "_type" : "doc",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

从上面可以看出,在客户索引中成功创建了一个新的客户文档。该文档的内部标识为1,我们在索引时指定。

值得注意的是,Elasticsearch在您将文档编入索引之前不需要先显式创建索引。在前面的示例中,如果客户索引事先尚未存在,则Elasticsearch将自动创建客户索引。

我们现在检索刚刚编入索引的文档:

GET /customer/doc/1?pretty

 

并回应:

{
  "_index" : "customer",
  "_type" : "doc",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : { "name": "John Doe" }
}

除了字段之外,这里没有任何异常found,声明我们找到了具有请求的ID 1和另一个字段的_source文档,该文档返回我们从上一步索引的完整JSON文档

 


删除索引编辑

现在让我们删除刚刚创建的索引,然后再次列出所有索引:

DELETE /customer?pretty
GET /_cat/indices?v

 

并回应:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

这意味着索引已成功删除,我们现在回到我们在集群中没有任何内容的地方。

在我们继续之前,让我们再仔细看看到目前为止我们学到的一些API命令:

PUT /customer
PUT /customer/doc/1
{
  "name": "John Doe"
}
GET /customer/doc/1
DELETE /customer

 

如果我们仔细研究上述命令,我们实际上可以看到我们如何在Elasticsearch中访问数据的模式。该模式可归纳如下:

<REST Verb> /<Index>/<Type>/<ID>

这种REST访问模式在所有API命令中都非常普遍,如果你能记住它,你将在掌握Elasticsearch方面有一个良好的开端

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HIVE数据仓库在大数据环境中的应用是将数据存储在分布式文件系统中,通过HIVE提供的SQL语言进行查询和分析,从而实现数据仓库的功能。HIVE可以处理PB级别的数据,支持数据的压缩和分区,可以与Hadoop生态系统中的其他组件进行集成,如Hadoop、HBase等。HIVE还提供了UDF、UDAF、UDTF等扩展功能,可以满足不同的数据处理需求。 ### 回答2: HIVE是一种建立在Hadoop之上的数据仓库架构,它提供了一种用于查询和分析大型数据集的简单且灵活的方式。在大数据环境中,HIVE的应用具有以下几个方面的优势和用途。 首先,HIVE提供了类似于SQL的查询语言,这使得我们可以使用熟悉的SQL语法来查询和分析数据。这对于那些熟悉SQL的数据分析师和开发人员来说,非常具有吸引力和易于上手。 其次,HIVE具有高度的扩展性和可伸缩性。它是建立在Hadoop分布式存储和计算框架之上的,因此可以轻松地处理海量数据。同时,HIVE允许用户定义自己的数据模型和数据分区方式,以便更好地满足不同的业务需求。 第三,HIVE可以与其他大数据工具和框架无缝集成。例如,HIVE可以与Hadoop生态系统中的其他工具(如HBase、Spark、Pig等)共同使用,以实现更复杂的数据处理和分析任务。此外,HIVE还可以与传统的关系型数据库进行连接,以实现跨系统的数据共享和集成。 最后,HIVE还具有数据仓库的特性,例如数据抽取、转换和加载(ETL)功能、数据聚合和汇总、数据清洗和归档等。这使得HIVE成为处理和管理大数据的全方位解决方案。 总结来说,HIVE在大数据环境中的应用非常广泛。它提供了简单且灵活的查询方式、高扩展性和可伸缩性、与其他工具的集成能力以及数据仓库的特性。这些优势使得HIVE成为大数据处理和分析的重要工具之一。 ### 回答3: HIVE数据仓库是一种在大数据环境中应用广泛的数据存储和查询工具。它是基于Hadoop框架构建的,可以处理大量的结构化和半结构化数据。 首先,HIVE数据仓库提供了一个类似于SQL的查询语言,称为HiveQL。通过HiveQL,用户可以使用简单的SQL语句来查询和分析存储在Hadoop集群中的数据。这使得非技术人员也能够方便地进行数据分析和探索,而不需要编写复杂的MapReduce程序。 其次,HIVE数据仓库支持数据的ETL(抽取、转换和加载)。它可以将数据从不同的源(如关系数据库、日志文件等)中提取出来,并进行转换和加载到Hadoop集群中的Hive表中。这允许用户将所有的数据都存储在一个地方,并进行统一的数据分析。 此外,HIVE数据仓库还支持数据的压缩和分区。通过将数据进行压缩,可以减少存储空间的占用,并提高查询性能。而通过对数据进行分区,可以按照指定的列将数据进行分组存储,提高数据的查询效率。 最后,HIVE数据仓库可以与其他大数据工具集成。例如,它可以与Apache Pig、Apache Spark等工具一起使用,以进一步扩展其功能。 综上所述,HIVE数据仓库在大数据环境中的应用非常广泛。它提供了一个强大的查询语言和ETL功能,使用户能够方便地进行数据分析和探索。此外,它还支持数据的压缩和分区,以及与其他工具的集成,进一步提高了数据仓库的灵活性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值