ELK分布式日志系统实战-01

2019-01-07  本文已影响0人  kf_0169

1.版本问题

因为 ElasticSearch 是 ELK 组合中的一部分,都是 Elastic 产品中的组成部分,在 ElasticSearch 2.x 以前,ELK 中的各个
中间件的版本不一致,如:ElasticSearch2.3.4,而 Kibana 对应的版本是 4.5.3。2016 年秋季,为了方便各中间件方便配
合使用,ElasticSearch 直接从 2.x 升级到了 5.x,保持了和各个中间件版本一致。
因此,ElasticSearch 的版本历史是:1.x -> 2.x -> 5.x。
ElasticSearch 5.5.x 相对以前的 2.x 版本,是基于 Lucene 6 来构建的,它增加了 36%的查询速度,增加了 71%的索引
速度,并且减少了 66%的硬盘空间占用,还较少了 85%的内存使用,同时还新增 IP 字段,以支持 IP4 和 IP6,在各方面
超越了以往的历史版本

2.本文章选择版本 6.5.1

3.简单介绍

-创建用户名为 es 的用户
useradd es
-设置 es 用户的密码
passwd es
-创建 es 的 data 和 logs 目录
mkdir elasticsearch-6.5.1/data
mkdir elasticsearch-6.5.1/logs
-将 /opt/es/elasticsearch-6.5.1目录 的拥有者设置为 es
chown -R es /opt/es/elasticsearch-6.5.1

chown -R es:es /opt/es/elasticsearch-6.5.1
-这个-d是后台启动,第一次不建议后台启动,前台启动可以直观的看到日志信息
bin/elasticsearch -d
-跨域
//elasticsearch.yml 文件增加下面两项
http.cors.enabled: true
http.cors.allow-origin: "*"

知识点

在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库:
Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields
开始

1、ES环境配置

在 CentOS 中,要做以下设置:

#!/bin/bash
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "* soft memlock unlimited" >> /etc/security/limits.conf
echo "* hard memlock unlimited" >> /etc/security/limits.conf
echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
sysctl -p
ulimit -l unlimited
bootstrap.system_call_filter: false

不修改可能出现

bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed...

因为 CentOS 内核不支持 SecComp,而 ES 5.5.x 默认是要执行检测命令的,所以这
里我们把这个环境检测禁掉

-Xms8g
-Xmx8g

2、ES分布式安装

cluster.name: my-es #集群名称
node.name: master #节点 ID,保证唯一
node.master: true #标记是否为主节点
network.host: 192.168.2.120 #对外公开的 IP 地址,如果自动识别配置为 0.0.0.0

修改从节点,打开 elasticsearch\config 下的 elasticsearch.yml 文件,在底部追加

cluster.name: my-es #集群名称三个节点保持一致
node.name: slave-1 #从节点 ID,保证唯一
network.host: 192.168.2.121 #对外公开的 IP 地址,如果自动识别配置为 0.0.0.0
。#http.port: 8200 #默认端口为 9200,环境是在同一台机器,配置指定服务端口号
discovery.zen.ping.unicast.hosts: ["192.168.2.120"] #集群的 IP 组,配置主节点 IP 即可

3、ES可视化插件安装

推荐两个

上一篇下一篇

猜你喜欢

热点阅读