介绍
ElasticSearch集群的components
1:节点:
一个 ElasticSearch Instance 就是一个节点,实现数据存储,以及搜索数据,
2:集群:
ElasticSearch中可以定义多个集群,集群的名称必须唯一,一个节点只能属于一个集群,不能交叉
3:片区:
通过shard机制,实现索引数据分布式存储,默认是五个shard,可以被用户指定,无法动态修改,也就是说将索引中的数据切分为多个shard,且分别存储在不同的节点上,实现数据分布式访问。且每一个shard都有一个primary shard和一个replica shard,实现数据冗余,且replica shard可以被用户指定,可以动态修改
ElasticSearch 主要概念说明
1:索引:
相当于表,document的集合
2:类型:
相当于表结构,document的结构
3:文档:
文档使用json格式表示,是field的集合
4:映射:
实现切词分析,排序分析
ElasticSearch 集群的工作原理
各个节点之间以多播方式通信,且通过TCP的9300端口通信,基于节点名称通信。集群中必须定义一个主节点,用于管理集群。主节点会决定哪个shard是primary,且查找replica shard。如果集群中添加一个新的节点,那么shard均衡将会被ElasticSearch集群自动处理。集群的状态包括:green、red、yellow。
下载安装
(Java的JDK必须是最新的,底层是Java语言写的,因此需要安装JDK java开发包)
##### 提示:Java 的JDK必须是符合当前版本需求的。这里安装2.x版本,先不使用5.x版本
参考文档:https://www.elastic.co/guide/index.html
RPM包安装:
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.4.4/elasticsearch-2.4.4.rpm
https://www.elastic.co/downloads/past-releases/elasticsearch-2-0-0
源码安装:
略
温馨提示:如果想用最新版本的Elasticsearch,那么需要先升级系统的JDK环境
先看看系统的JDK版本:yum list all | grep jdk
直接安装最新版本(如果最新JDK满足Elasticsearch对JDK的要求)
yum install -y java-1.8.0-openjdk.x86_64
yum install -y java-1.8.0-openjdk-devel.x86_64
yum install -y java-1.8.0-openjdk-headless.x86_64