MacOS系统,Centos按此方法会有问题
1、单实例安装:
1)官网The Elastic Stack Download · Get Started in Minutes | Elastic下载并解压
2)检查Jdk版本是否是1.8以上,java -version
3)启动单实例 sh ./bin/elasticsearch, 启动完成后访问localhost:9200,成功返回json对象
2、Head插件安装(原返回json不友好,该插件提供可视化界面)
1)访问插件下载地址 https://github.com/mobz/elasticsearch-head/archive 并解压
2)检查node版本是否6.0以上,node -v
3)进入解压目录后,执行 npm install
4)启动插件,在解压目录中,npm run start,成功后访问localhost:9100
3、Head插件正常使用:
1)修改elasticsearch目录下的配置,进入elasticsearchm目录后,vim config/elasticsearch.yml
在末尾加上
http.cors.enabled: true(true前面必须要有空格)
http.cors.allow-origin: "*"
ESC :wq 回车
2)后台启动elasticsearch ./bin/elasticsearch -d
3)启动Head插件,同1.4)中操作
4)操作成功后,localhost:9100上会显示绿色的集群健康值
4、分布式安装:
在vim config/elasticsearch.yml
在末尾加上
cluster.name: wali
node.name: slave1
network.host: 127.0.0.1
http.port: 8000
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
ESC :wq 回车 后启动
5、基础概念:
索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。事实上,我们的数据被存储和索引在分片(shards)中,索引只是一个把一个或多个分片分组在一起的逻辑空间。然而,这只是一些内部细节——我们的程序完全不用关心分片。对于我们的程序而言,文档存储在索引(index)中。剩下的细节由Elasticsearch关心既可。(索引的名字必须是全部小写,不能以下划线开头,不能包含逗号)
类型用于区分同一个索引下不同的数据类型,相当于关系型数据库中的表。在Elasticsearch中,我们使用相同类型(type)的文档表示相同的“事物”,因为他们的数据结构也是相同的。每个类型(type)都有自己的映射(mapping)或者结构定义,就像传统数据库表中的列一样。所有类型下的文档被存储在同一个索引下,但是类型的映射(mapping)会告诉Elasticsearch不同的文档如何被索引。
文档是ElasticSearch中存储的实体,类比关系型数据库,每个文档相当于数据库表中的一行数据。 在Elasticsearch中,文档(document)这个术语有着特殊含义。它特指最顶层结构或者根对象(root object)序列化成的JSON数据(以唯一ID标识并存储于Elasticsearch中)。
文档由字段组成,相当于关系数据库中列的属性,不同的是ES的不同文档可以具有不同的字段集合。
对比关系型数据库:
Relational DB -> Databases -> Tables -> Rows -> Columns
分片:每个索引都有多个分片,每个分片是一个Lucene索引
备份:拷贝一份分片就完成了分片的备份
网友评论