Elasticsearch发展历史
从开源到上市
同类型产品
起源
Elasticsearch诞生
Elasticsearch分布式架构
Elasticsearch支持多种接入方式
Elasticsearch主要功能
市场反应
Elasticsearch5.x新特性
Elasticsearch6.x新特性
Elasticsearch7.x新特性
Elasticsearch家族成员
Elastic Stack生态圈
Logstash:数据处理管道
主要特性
Beats
ELK用户及应用场景
Elasticsearch与数据库的集成
日志分析/指标分析
ES概念简介
Elasticsearch是一个高度可扩展RESTful风格的开源全文搜索和分析引擎,基于JAVA语言编写,它内部使用的是Apache Lucene做索引功能。 Apache Lucene是一款高性能的、可扩展的信息检索工具库,提供索引功能的信息检索工具库。同样由Java语言开发、自由开源的搜索类库,基于Apache协议授权。Lucene只是一个软件类库,如果要发挥Lucene的功能,还需要开发一个调用Lucene类库的应用程序。但是Apache Lucene已被集成在Elasticsearch当中,所以我们并不需要去单独配置Apache Lucene
Cluster 集群
一个 Elasticsearch 集群由一个或多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识
Node节点
代码语言:javascript复制一个 Elasticsearch 实例即一个 Node,一台机器可以有多个实例,正常使用下每个实例应该会部署在不同的机器上。 Elasticsearch 的配置文件中可以通过 node.master、 node.data 来设置节点类型 node.master:表示节点是否具有成为主节点的资格
# true代表的是有资格竞选主节点
# false代表的是没有资格竞选主节点
代码语言:javascript复制node.data:表示节点是否存储数据
# true代表存储数据
# false代表不存储数据
Node节点组合
主节点 数据节点(master data)
# 节点即有成为主节点的资格,又存储数据
node.master: true
node.data: true
数据节点(data)
# 节点没有成为主节点的资格,不参与选举,只会存储数据
node.master: false
node.data: true
客户端节点(client)
# 不会成为主节点,也不会存储数据,主要是针对海量请求的时候可以进行负载均衡
node.master: false
node.data: false
分片
每个索引有一个或多个分片,每个分片存储不同的数据。分片可分为主分片( primary shard)和复制分(replica shard),复制分片是主分片的拷贝。默认每个主分片有一个复制分片,一个索引的复制分片的数量可以动态地调整,复制分片从不与它的主分片在同一个节点上.
环境及软件
代码语言:javascript复制List:
CentOS7.3.1611
elasticsearch-7.2.0-linux-x86_64.tar.gz
jdk-8u121-linux-x64.rpm
cerebro-0.8.3.tgz
# 因为ES7已经内置了所需的java的JDK版本,因此在此不再介绍java安装
# ES7安装方式使用RPM安装方式。
# 架构设计
# ES-Master: 我们设定192.168.0.117为Master节点
# ES-Data: 我们设定192.168.0.115和192.168.0.108专门存储数据节点
ES节点列表
IP | 节点名 |
---|---|
192.168.43.176 | node-a |
192.168.43.164 | node-b |
192.168.43.215 | node-c |
准备系统环境
代码语言:javascript复制init_security() {
systemctl stop firewalld
systemctl disable firewalld &>/dev/null
setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
sed -i '/^GSSAPIAu/ s/yes/no/' /etc/ssh/sshd_config
sed -i '/^#UseDNS/ {s/^#//;s/yes/no/}' /etc/ssh/sshd_config
systemctl enable sshd crond &> /dev/null
rpm -e postfix --nodeps
echo -e "