2023-08-08  阅读(0)
原文作者:Ressmix 原文地址:https://www.tpvlog.com/article/146

本章,我将搭建一个Elasticsearch开发环境,作为后续章节讲解的基础,各位可以跟着我一起进行手动搭建。

一、环境准备

1.1 ES版本选择

我们先去Elasticsearch的GitHub主页,看下它的版本变迁:https://github.com/elastic/elasticsearch/releases:

202308082146223331.png

可以看到,现在最新的稳定版本是v7.6.0。我们也可以去的官方主页看下,v7.x版本相对于以前都哪些大的变动,然后根据自己的需求选择适合的版本:https://www.elastic.co/guide/en/elasticsearch/reference/7.6/breaking-changes-7.0.html。

我这里直接以最新版本作为环境搭建的基础。

1.2 下载ES

前往Elasticsearch的官网:https://www.elastic.co/start进行下载。考虑到大多数童鞋用的是windows,我这里选择windows版本:

202308082146235862.png

考虑到后面要用到Kibana作为图形界面展示,我们顺带把它也一起下载了:

202308082146244413.png

下载完成后,自己找个目录解压缩。

1.3 JDK环境

Elasticsearch源码采用Java编写,所以运行时依赖于JVM,v7.6.0版本在根目录下有自带的openJDK供其使用。

所以如果想要使用自己的JDK,需要配置好JAVA_HOME环境变量,同时最好用JDK11+版本,因为Elasticsearch7.x推荐使用LTS版本的JDK。

Support Matrix:https://www.elastic.co/cn/support/matrix#matrix_jvm

二、启动Elasticsearch

2.1 启动ES

上面步骤都完成后,进入/bin目录,执行elasticsearch.bat启动Elasticsearch。启动完成后,在浏览器输入:http://localhost:9200/?pretty,若显示以下JSON报文,则说明启动成功:

    {
      "name" : "DESKTOP-JGDSLQG",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "M7Hak1h6RRSeQyajXPr71g",
      "version" : {
        "number" : "7.6.0",
        "build_flavor" : "default",
        "build_type" : "zip",
        "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
        "build_date" : "2020-02-06T00:09:00.449973Z",
        "build_snapshot" : false,
        "lucene_version" : "8.4.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

上述报文可以看到ES集群名称、ES版本等信息。

2.2 启动Kibana

接着,我们启动Kibana,使用里面的UI界面,去操作Elasticsearch。Kibana的启动方式和ES类似,进入/bin目录,执行kibana.bat,启动完成后,在浏览器输入:http://localhost:5601,就可以进入Kibana的控制台了:

202308082146253494.png

我们进入“Dev Tool”界面,输入GET _cluster/health测试下:

202308082146264395.png

三、简单上手

搭建完了环境,我们就来上手体验下。Elasticsearch提供了一套Cat API,可以以 RESTful 的方式进行各种操作。

3.1 集群健康状况

默认情况下,我们创建的索引归属于“elasticsearch”集群,我们也可以自定义集群。我们先来看看如何了解集群的健康状况?在Elasticsearch中,集群的健康状况一共三种:green、yellow、red。

green: 每个索引的primary shard和replica shard都是active状态的;
yellow: 每个索引的primary shard都是active状态的,但是部分replica shard不是active状态(即不可用的状态);
red: 部分索引的primary shard不是active状态,也就是部分索引有数据丢失了。

通过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
    1583314274 09:31:14  elasticsearch green           1         1      3   3    0    0        0             0                  -                100.0%

3.2 索引操作

查询索引

GET /_cat/indices?v

可以看到,默认有三个索引:

    health stats index                    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   .kibana_task_manager_1   iA5Q_umzQ1ySMSyiLOCI7w   1   0          2            0     57.1kb         57.1kb
    green  open   .apm-agent-configuration DE8HMOigSEaiTHmdqtxERg   1   0          0            0       283b           283b
    green  open   .kibana_1                T8O3ZQROT_C2hcdJtTOj_Q   1   0         10            0     36.2kb         36.2kb

创建索引

PUT /test_index?pretty

其中test_index是我们创建的索引名称,pretty参数表示显示风格,可以忽略。响应如下:

    {
      "acknowledged" : true,
      "shards_acknowledged" : true,
      "index" : "test_index"
    }

删除索引

DELETE /test_index?pretty

响应如下:

    {
      "acknowledged" : true
    }

四、总结

本章,我们搭建了一个Elasticsearch+Kibana的开发环境,作为后续学习的基础。下一章节,我将引入一个示例,对Elasticsearch的基本功能进行实战讲解,便于大家快速上手Elasticsearch。


Java 面试宝典是大明哥全力打造的 Java 精品面试题,它是一份靠谱、强大、详细、经典的 Java 后端面试宝典。它不仅仅只是一道道面试题,而是一套完整的 Java 知识体系,一套你 Java 知识点的扫盲贴。

它的内容包括:

  • 大厂真题:Java 面试宝典里面的题目都是最近几年的高频的大厂面试真题。
  • 原创内容:Java 面试宝典内容全部都是大明哥原创,内容全面且通俗易懂,回答部分可以直接作为面试回答内容。
  • 持续更新:一次购买,永久有效。大明哥会持续更新 3+ 年,累计更新 1000+,宝典会不断迭代更新,保证最新、最全面。
  • 覆盖全面:本宝典累计更新 1000+,从 Java 入门到 Java 架构的高频面试题,实现 360° 全覆盖。
  • 不止面试:内容包含面试题解析、内容详解、知识扩展,它不仅仅只是一份面试题,更是一套完整的 Java 知识体系。
  • 宝典详情:https://www.yuque.com/chenssy/sike-java/xvlo920axlp7sf4k
  • 宝典总览:https://www.yuque.com/chenssy/sike-java/yogsehzntzgp4ly1
  • 宝典进展:https://www.yuque.com/chenssy/sike-java/en9ned7loo47z5aw

目前 Java 面试宝典累计更新 400+ 道,总字数 42w+。大明哥还在持续更新中,下图是大明哥在 2024-12 月份的更新情况:

想了解详情的小伙伴,扫描下面二维码加大明哥微信【daming091】咨询

同时,大明哥也整理一套目前市面最常见的热点面试题。微信搜[大明哥聊 Java]或扫描下方二维码关注大明哥的原创公众号[大明哥聊 Java] ,回复【面试题】 即可免费领取。

阅读全文