elk集群安装配置详解
#一:简介```
Elasticsearch作为日志的存储和索引平台;
Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表;
Logstash 依靠强大繁多的插件作为日志加工平台;
Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash;
Log4j 直接与 Logstash 连接,将日志直接
Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志)。
```
####port
```
Elasticsearch
9200:对外提供服务的 HTTP 端口
9300:作为交互的 TCP 端口
Logstash
5000: Logstash TCP input
5044:用于接收来着 Filebeat 收集的日志数据
4569:用于接收来着 Log4j 的日志数据
8080:用于接收来自插件 Logstash-input-http 的日志数据
Kibana
5601 端口用于 Kibana的界面
```
####安装环境介绍:
```
- 系统版本
more /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
- 系统内核
uname -a
Linux yunwei-ts-100-71 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
- java 版本
java -version
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b13)
OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)
- 如果版本过低,或者没有安装执行命令如下:
yum installjava-1.8.0-*
注意: Logstash需要Java 8或更高版本.可以使用
http://www.oracle.com/technetwork/java/javase/downloads/index.html
或者使用开源版本OpenJDK: http://openjdk.java.net/.
```
#### 二:集群安装配置
```
- 测试集群规划
主机名 IP地址
yunwei-ts-100-70 172.16.1.70
yunwei-ts-100-71 172.16.1.71
yunwei-ts-100-111 172.16.1.111
- 软件版本:
elasticsearch 2.4.1
logstash.noarch 1:2.3.4-1
filebeat-1.2.3
kibana.x86_64 0:4.5.3-1
```
### 安装部署elasticsearch集群
##### 简介
ElasticSearch原生支持Cluster模式,节点之间通过单播或多播进行通信;ElasticSearch Cluster能自动检测节点的增加、失效和恢复,并重新组织索引。
##### ELK的工作原理:
使用多播进行机器发现同一个集群内的节点,并汇总各个节点的返回组成一个集群,主节点要读取各个节点的
状态,在关键的时候进行数据的恢复,主节点会jian'shi监视各个节点的状态,并决定每个分片的位置,通过ping的request检测各失效的节点。
##### elasticsearch的基本结构认识
```
以mysql数据库为实例对应理解:
mysql 数据库databases 表tables 行rows 列columns
es 索引indices 类型types 文档documents 字段fields
```
##### elasticsearch中所说的索引容易混淆,3种含义:
```
1. 索引(名词) 如上面类比,一个索引(index)就好比是mysql中的数据库,它是存储数据的地方。
2. 索引(动词)表示把一个文档存储到索引(名词)里。
3. 倒排索引 好比mysql为特定列增加一个索引。
- 和mysql类似,每个库都得有表,还有表的结构。es的每一个索引都有个类型,而每个type(类型)得有个mapping (映射)。mapping就像是mysql中的表结构, 他将每个字段匹配为一种确定的数据类型(string,date等)。
- 你可以向已有映射中增加字段,但你不能修改它。如果一个字段在映射中已经存在,这可能意味着那个字段的数据已经被索引。
- 如果你改变了字段映射,那已经被索引的数据将错误并且不能被正确的搜索到.为了提高搜索的效率,es使用倒排索引来做全文搜索。通过analyzer(分词器)先把需要分析的文本,表征化为适合的term(词),然后标准化这些term,使他们容易被搜索到。(比如说模糊大小写,空格等等)
```
##### 集群规划
```
主机名 IP 集群服务
yunwei-ts-100-70172.16.100.70 (elasticsearch)
yunwei-ts-100-70172.16.100.71 (elasticsearch)
yunwei-ts-100-70172.16.100.111 (elasticsearch)
软件版本: 2.4.1-1
```
#### 安装 Elasticsearch
###### 添加yum 签名key,
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
###### 添加 elasticsearch.repo 到 /etc/yum.repos.d/ 目录
```
cat >/etc/yum.repos.d/elasticsearch.repo
页:
[1]