Elasticsearch 安装和后台运行(真实有效,Mac版本已经验证)

hello熊本 2018-07-18

mac 索引 Elasticsearch index

如何安装一个程序

在日常的工作和学习中,例如学习一个新技术,经常需要安装一些程序,那么这个时候,最推荐的就是区技术的官网,学习最新的安装方法,进行安装。

一、Mac安装Elasticsearch

关于Elasticsearch的安装,在官网安装解释中说的很明确。
官方安装地址
其他版本的我暂时没有验证过,我在此仅验证一下Mac版本的。

  • 在macOS上,Elasticsearch也可以通过Homebrew安装:
brew install elasticsearch

这样就安装完了:

==> Downloading https://artifacts.elastic.co/downloads/elasticsearch/elasticsear
######################################################################## 100.0%
==> Caveats
Data:    /usr/local/var/lib/elasticsearch/elasticsearch_wangdong/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_wangdong.log
Plugins: /usr/local/var/elasticsearch/plugins/
Config:  /usr/local/etc/elasticsearch/

To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch
==> Summary
?  /usr/local/Cellar/elasticsearch/6.2.4: 112 files, 30.8MB, built in 8 minutes 19 seconds

~ ⌚ 16:02:02
$ 

三、运行Elasticsearch

只需要在命令行输入:elasticsearch就可以启动

$ elasticsearch
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to No such file or directory
.....
[2018-07-18T16:02:55,520][INFO ][o.e.t.TransportService   ] [co8Ssev] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
[2018-07-18T16:02:58,636][INFO ][o.e.c.s.MasterService    ] [co8Ssev] zen-disco-elected-as-master ([0] nodes joined), reason: new_master {co8Ssev}{co8SsevGRTWDhnyjFsSD9A}{Pv9vnbYTQfaI-c4kxzYF3Q}{127.0.0.1}{127.0.0.1:9300}
[2018-07-18T16:02:58,640][INFO ][o.e.c.s.ClusterApplierService] [co8Ssev] new_master {co8Ssev}{co8SsevGRTWDhnyjFsSD9A}{Pv9vnbYTQfaI-c4kxzYF3Q}{127.0.0.1}{127.0.0.1:9300}, reason: apply cluster state (from master [master {co8Ssev}{co8SsevGRTWDhnyjFsSD9A}{Pv9vnbYTQfaI-c4kxzYF3Q}{127.0.0.1}{127.0.0.1:9300} committed version [1] source [zen-disco-elected-as-master ([0] nodes joined)]])
[2018-07-18T16:02:58,656][INFO ][o.e.h.n.Netty4HttpServerTransport] [co8Ssev] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2018-07-18T16:02:58,656][INFO ][o.e.n.Node               ] [co8Ssev] started
[2018-07-18T16:02:58,658][INFO ][o.e.g.GatewayService     ] [co8Ssev] recovered [0] indices into cluster_state

四、后台运行

如果要后台运行,请参考。
后台运行并杀死程序

五、操作Elasticsearch

如果你要操作Elasticsearch的话,就不能够直接通过命令行了!
你如你在这边官方文档ES检测,会看到一些操作。
例如:

  • 要检查群集运行状况:注意/_cat/health?v中间没有空格。
GET /_cat/health?v

对应的数据的意思,请看官方文档。
这里写图片描述

  • 获得群集中的节点列表
GET /_cat/nodes?v

这里写图片描述

  • 列出所有索引
GET /_cat/indices?v

这里写图片描述

下面意思是,我们目前的集群中没有索引。

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

六、创建索引添加数据

标准格式:
<REST Verb> /<Index>/<Type>/<ID>

1.创建一个名为customer的索引

两种方式:
1:

PUT /customer

2:

PUT /customer?pretty

这里写图片描述

注意索引是唯一的,错误会执行报错

{
  "error": {
    "root_cause": [
      {
        "type": "resource_already_exists_exception",
        "reason": "index [customer/9q9iDbOqQgSdlqxPENkEBA] already exists",
        "index_uuid": "9q9iDbOqQgSdlqxPENkEBA",
        "index": "customer"
      }
    ],
    "type": "resource_already_exists_exception",
    "reason": "index [customer/9q9iDbOqQgSdlqxPENkEBA] already exists",
    "index_uuid": "9q9iDbOqQgSdlqxPENkEBA",
    "index": "customer"
  },
  "status": 400
}

2.列出所有索引:

执行:

GET /_cat/indices?v

响应:

health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   customer 9q9iDbOqQgSdlqxPENkEBA   5   1          0            0      1.1kb          1.1kb

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

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

3.给索引添加一点数据

给customer的索引添加数据,因为ES是以文档Json格式在存储,索引后面写个_doc,给它一个ID是1。

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

这里写图片描述
注意:同一个ID,在PUT的时候,是会去覆盖的,相当于更改,version字段就是这个ID更改的次数

4.下面来获取这个数据

执行:

GET /customer/_doc/1?pretty

响应:

{
  "_index": "customer",
  "_type": "_doc",
  "_id": "1",
  "_version": 7,
  "found": true,
  "_source": {
    "name": "熊 本"
  }
}

这里写图片描述

5.删除索引

执行
两种方式
1:

DELETE /customer

2:

DELETE /customer?pretty

再执行查看索引:

GET /_cat/indices?v

响应:
说明此时现在已经没有索引了。

health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .kibana WZ_XKyA3RfaGIXiW3D4z-Q   1   0          1            0     13.1kb         13.1kb

结语:好的,后续再进一步分享一些更加高深的东西。

登录 后评论
下一篇
我是小助手
30379人浏览
2019-07-31
相关推荐
Elastic 技术栈之快速入门
513人浏览
2017-11-24 16:07:00
ElasticSearch集群入门
388人浏览
2016-06-18 17:42:05
0
0
0
1344