ES+Logstash+Kibana(ELK)部署---废弃版,请勿参考

一 概念理解

ES、Logstash 和 Kibana 是一组开源工具的缩写,通常被称为 ELK Stack。它们分别是:

  • Elasticsearch (ES): 一个开源的分布式搜索引擎,用于全文搜索、分析和可视化大量数据。它能够快速存储、搜索和分析大量数据
  •  Logstash: 一个用于日志数据收集、转换和传输的开源工具。Logstash 可以从不同来源收集数据,并将其转换为指定格式,然后传输到 Elasticsearch 进行存储和分析
  • Kibana: 一个用于数据可视化的开源工具。通过 Kibana,用户可以创建仪表板和可视化,以直观地理解 Elasticsearch 中的数据

    Elasticsearch(ES)

    中文:弹性搜索

    是一个高度可扩展全文搜索和分析引擎,基于Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作,可以处理大规模日志数据,比如NginxTomcat、系统日志等功能

    Logstash

    中文:日志集中

    数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;支持普通log、自定义json格式的日志解析

    Kibana

    中文:基于浏览器的分析和搜索界面

    数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示
ELK标准架构图ES+Logstash+Kibana(ELK)部署---废弃版,请勿参考_第1张图片

二 部署环境准备

  • 关闭防火墙、SElinux,并在/etc/hosts做本地解析
  • ES服务运行需要JAVA环境,故要安装JAVA环境

本文使用三台服务器搭建ES集群

  2.1 关闭防火墙、SElinux,并在/etc/hosts做本地解析
systemctl disable firewalld
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

vim /etc/hosts

192.168.10.111 elk1
192.168.10.112 elk2
192.168.10.113 elk3
  2.2 JAVA环境部署-安装JDK
   2.21官网下载JDK,并解压到/usr/local目录

JDK下载官网icon-default.png?t=N7T8https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html

tar -xzvf jdk-8u381-linux-x64.tar.gz -C /usr/local
    2.22 配置环境变量,重新加载并测试
vim /etc/profile进入编辑模式后,在末尾加入这段

export JAVA_HOME=/usr/local/jdk1.8.0_381
export PATH=$PATH:$JAVA_HOME/bin           
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
export JRE_HOME=$JAVA_HOME/jre    
source /etc/profile
java -version  #出现版本即为成功
javac

三 安装Elasticsearch

Elasticsearch下载官网icon-default.png?t=N7T8https://www.elastic.co/cn/downloads/past-releases#elasticsearch

  3.1 rpm安装es
[root@mysql-112 /]# rpm -ivh elasticsearch-6.8.1.rpm 
警告:elasticsearch-6.8.1.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
准备中...                          ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
正在升级/安装...
   1:elasticsearch-0:6.8.1-1          ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.service
Created elasticsearch keystore in /etc/elasticsearch
  3.2 修改es的配置文件
[root@linux-elk1 ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-cluster    #ELK的集群名称,名称相同即属于是同一个集群
node.name: elk1         #本机在集群内的节点名称
path.data: /elk/data    #数据存放目录
path.logs: /elk/logs    #日志保存目录
#bootstrap.memory_lock: true    #服务启动的时候锁定足够的内存,防止数据写入swap,这个配置不能开,开了起不来
network.host: 192.168.10.110    #监听的IP地址,本机的地址
http.port: 9200    #服务监听的端口
discovery.zen.ping.unicast.hosts: ["elk1", "elk2", "elk3"]    
#这个参数用于配置用于节点之间通信和发现的主机列表。你可以指定其他节点的IP 址或主机名,以便让节点知道其他节点的存在,从而加入到集群中,和上面的node.name可以不一致
  3.3 创建数据和日志存放目录,并授权

从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们使用以下用户

mkdir -p /elk/{data,logs}
chown elasticsearch.elasticsearch /elk/ -R
  3.4 es启动--失败原因

 systemctl start elasticsearch.service

   3.41 没有找到java
 systemd[1]: Started Elasticsearch.
 elasticsearch[1409]: which: no java in (/usr/local/sbin:/usr/local...n)
[root@mysql-111 logs]# which java
/usr/local/jdk1.8.0_381/bin/java
[root@mysql-111 elk]# ln -s /usr/local/jdk1.8.0_381/bin/java /usr/bin/java
##这个报错解除
   3.42 es启动了但是过一会儿就自动挂掉

这边考虑虚拟机内存给的少了,查阅文档,需要2G以上,添加到2G还是启动失败,参考其他答案,需要解决线程开启问题和虚拟机内存问题

vim /etc/security/limits.conf  在末尾追加

* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 2048
* soft memlock unlimited
* hard memlock unlimited

修改资源限制文件,reboot重启后,ulimit -a 即可查到修改参数,所以这里一开始就要设置

再启动es即可,等待一会,出现9200.9300端口即为部署成功

ES+Logstash+Kibana(ELK)部署---废弃版,请勿参考_第2张图片

  3.5 验证

curl http://192.168.10.111:9200 或登录网页(打不开网页90%是防火墙没关)

四 安装Kibana

​ Kibana是ES提供的一个基于Node.js的管理控制台, 可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。
​ kibana可以用来编辑请求语句的,方便学习操作es的语法。有时在进行编写程序,写到查询语句时,往往我会使用kibana进行书写,然后再粘贴到程序中。(不容易出错)

  4.1 下载kibana

Kibana下载官网icon-default.png?t=N7T8https://www.elastic.co/cn/downloads/kibana

  4.2 解压kibana并修改配置文件
tar -xzvf kibana-8.12.0-linux-x86_64.tar.gz -C /usr/local

 修改config/kibana.yml配置:

vim /usr/local/kibana-8.12.0/config/kibana.yml

server.port: 5601
server.host: "0.0.0.0" #允许来自远程用户的连接
elasticsearch.url: http://192.168.10.111:9200 #Elasticsearch实例的URL 
  4.3 启动并测试 
/usr/local/kibana-8.12.0/bin/kibana --allow-root
#kibana不允许使用root启动,要么加参数--allow-root,要么切换用户

ln -s /usr/local/kibana-8.12.0/bin/kibana /usr/bin/kibana
kibana --allow-root

使用浏览器访问(elasticsearch.url): http://192.168.10.111:9200

发现登陆到网址提示需要再es安装路径下执行:bin\elasticsearch-create-enrollment-token.bat --scope kibana

-----未完待续

你可能感兴趣的:(elasticsearch,elk,大数据)