Elasticsearch基础(二)——开发环境搭建
本章,我将搭建一个Elasticsearch开发环境,作为后续章节讲解的基础,各位可以跟着我一起进行手动搭建。
一、环境准备
1.1 ES版本选择
我们先去Elasticsearch的GitHub主页,看下它的版本变迁:https://github.com/elastic/elasticsearch/releases:

可以看到,现在最新的稳定版本是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版本:

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

下载完成后,自己找个目录解压缩。
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的控制台了:

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

三、简单上手
搭建完了环境,我们就来上手体验下。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。
感谢赞赏~
- 本文标签: Elasticsearch
- 版权声明: 本站原创文章,于2019年04月12日由ressmix发布,作者保留所有权利,未经作者允许,禁止转载和演绎!