适合新手的elk + kafka 配置实战

总的思路:
所有安装配置步骤基本都一样下载tar包,解压,修改配置文件,启动。
下载tar包和解压的过程就不再赘述,直接去官网上下载。
elk的安装包我用的是6.7.1。kafka用的2.1.1。
kafka -> logstash -> elasticsearch 这是我的数据流向。
所有解压后的软件装在/opt/module目录下 。
opt目录是linux系统中的软件存放目录。
软件解压后在的位置

kafka配置启动

kafka依赖于zookeeper。我们先配置然后启动zookeeper。
切换目录到zookeeper-3.4.13。 目录下有如下文件:
在这里插入图片描述
我们通常只需要软件目录下的bin目录和conf或者config目录。
bin目录下面是启动程序的一些文件。
conf/config目录下是配置文件,一般的配置文件后缀有.conf .properties。

所以我们要运行一个软件,首先应该进入conf目录下修改配置参数,然后到bin目录下启动。后面所说的所有配置与启动都是在这两个目录中。不再赘述。
1.zookeeper配置启动
配置文件有的有固定名称,不可更改,启动程序时不需要指定要加载的配置文件。有的没有固定名称(但有固定后缀),启动时需指定要加载的配置文件。
zookeeper的配置文件没有固定名称,但给了一个配置样本叫zoo_sample.cfg。
样本的作用就是给我们一个参考的格式。我们可以直接用这个样本也可以复制一个改为另一个名字。我复制了一份。
在这里插入图片描述
然后修改配置
在这里插入图片描述
修改了zookeeper的数据保存目录,默认是在/tmp目录下,tmp是linux的临时文件夹。临时文件夹用来存储zookeeper的数据显然不太合适。但这就像windows中系统文件放在c盘感觉是很自然的,如果你硬要放其他盘也没问题。所以这不是强制的,只为了分类以后好找,和防止误删。
配置好以后启动。到bin目录里面找到zkServer.sh。这个就是启动命令。
在这里插入图片描述
启动命令的调用方式通常是 ./ 开头 + 启动命令相对于当前目录的相对路径或者直接写绝对路径。+ 参数。 ./是指命令是局部的,命令在当前目录下,不用./直接写的是全局命令,比如cd,ls,mkdir,java等等。这些都注册在了全局。
zkServer.sh如下的目录下:

在这里插入图片描述
如果我当前处于bin目录下和zkServer.sh同一级。我要启动的话,命令就是:
./zkServer.sh
如果我处于zookeeper-3.4.1下,要启动的话,命令就是:
./bin/zkServer.sh

这个以后不再赘述,请按照自己所在目录灵活调用命令。下面启动
在这里插入图片描述
命令其实相当于编程语言里面的函数/方法,我的函数/方法时不需要参数就可以执行,
有的函数需要参数才能执行,./bin/zkServer.sh需要两个参数,这里传的两个参数是start和conf/zoo.cfg,多个参数由空格隔开。至于在此处两个参数是什么意思,我们看参数的名称大概可以猜到第一个是决定命令启用哪种模式,第二个是启动时加载配置文件的位置(可以写相对也可以以/开头写绝对位置)。当然不同的命令,传参的个数与意义都是变化的。

zookeeper配置文件没有固定名称,所以启动要指定(不指定到哪找去)。
2.kafka的配置与启动
kakfa配置
切换到kafka软件目录,找到配置文件目录config。有四个文件需要配置如下:server.properties
在这里插入图片描述
写上本机的ip不要写成localhost,这个应该是给外部调用的地址。
在这里插入图片描述
–改一下日志输出地址
zookeeper.properties
在这里插入图片描述
–改下跟zookeeper有关的数据存放地址
consumer.properties
在这里插入图片描述
–指定下消费者group的id
provider.properties
在这里插入图片描述
–提供者是本身。这里的消费者提供者应该是相对于集群来说的,现在是单个kafka都设为自己。
kafka启动
在这里插入图片描述
服务器启动命令文件是 kafka-server-start.sh。 但是kafka启动默认是前台运行,这么开启会将当前窗口卡在kafka控制台出不去,要出去就得停止kafka! -daemon选项是将程序后台运行,这是个比较通用的选项。 server.properties是kafka服务启动的配置文件。
所有的启动都可以用ps -ef | grep + 进程名称 查询当前进程是否运行
在这里插入图片描述
如果出现了一大堆前面有个数字,这个数字就是pid进程id,说明进程在运行,想要结束某个程序但又不知道具体的结束命令,通用的做法是用ps -ef | grep +进程名称查出进程id,然后kill -9 + 进程id,简单粗暴。最后一行通常会出现如下的一刚数据:
在这里插入图片描述
这个暂时不知道是什么,这个最后面虽然有个kafka,但是并不是代表kafka的进程。ps -ef 这个命令总会有这么一行东西显示,如果只显示这么一行,就代表进程并未启动。

elasticsearch配置与启动

elasticsearch配置
进入es目录下的config目录下,配置文件为elasticsearch.yml
在这里插入图片描述
–修改数据存储目录和日志目录
在这里插入图片描述
–设置为0.0.0.0允许外部访问
elasticsearch启动
启动文件在es的bin目录下
在这里插入图片描述
执行elasticsearch命令,启动es 不需要指定配置文件
在这里插入图片描述
–哦豁,启动报错,不能用root账号启动,换一下其他账号。
在这里插入图片描述
在这里插入图片描述
–后面加个&,好像是可以开启允许后台运行。不加这个又会卡住。
在这里插入图片描述
–查看一下,es有两个进程。

kibana配置于启动

kibana装在windows本地就行,不在赘述。

logstash启动与配置

logstash配置在logstash目录下的config目录下。配置文件名称不固定,有一个样本配置文件logstash-sample.conf。 复制一下重命名一个,我取的名字为这个:
在这里插入图片描述
然后修改配置文件kafka-logstash-es.conf
在这里插入图片描述
输入是kafka,输出时es。
配置输入对象kafka的地址,消费者的group_id,(这个跟kafka配置文件中的groud.id要一样?),还有要消费的topics。后面kafka provider只要往这个topic里面放数据就能被logstash消费了。
配置输出对象es的地址,目的index。
启动logstash
启动文件在logstash的bin目录下的logstash ,有个-f的选项,目的不晓得,指定配置文件。
在这里插入图片描述
–哦豁又报错,Permisson denied,权限不足,无法读取某些文件。转为root账号再启动。root账号一般拥有文件的最高权限,就没得这些问题。

在这里插入图片描述
在这里插入图片描述
–后面加个&设为允许转为后台运行(加上&后,Ctrl + c就可以进入后台运行
启动的时候等一等,我们要注意启动日志,注意哪些级别为[warn]的日志,那些通常能够找到启动失败的原因。 这次启动没有错误,我注意某些[info]日志。
在这里插入图片描述
–这个说明连上了es。
在这里插入图片描述
–这个说明连上了kafka。
启动成功。

测试是否畅通

kafka provider -> kafka -> logstash -> elasticsearch
我在java用kafka provider测试
在这里插入图片描述
在这里插入图片描述
–循环往kafka发送数据。
然后kibana查看数据的接收。

在这里插入图片描述
成功接收了3535条数据。完结撒花。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: elk+kafka+filebeat 是一种常见的数据处理和分析架构。ELK指的是ElasticsearchLogstashKibana,它们分别用于数据存储、数据处理和数据可视化。Kafka是一个分布式流处理平台,用于处理大量的实时数据流。Filebeat是一个轻量级的日志数据收集器,用于将日志数据发送到ELKKafka中进行处理和分析。这种架构可以帮助企业实现实时数据处理和分析,提高数据的价值和利用率。 ### 回答2: ElkElasticsearchLogstashKibana)是一个开源的数据分析平台,其可帮助组织收集、分析、可视化并作出更明智的决策。Elk框架大致包含三个主要组成部分:ElasticsearchLogstashKibana。其中,Elasticsearch是一个基于Lucene的搜索和分析引擎,Logstash是一种数据收集引擎,而Kibana则为数据可视化提供了一种界面。 Kafka 是一个分布式的消息发布订阅系统,其主要目的是为服务之间的通信提供高吞吐和低延迟的解决方案。Kafka 的核心设计思想是基于发布订阅模式,确保系统的整个数据流可以持久化存储,同时支持高效和可扩展的水平拓展。 相比之下,Filebeat 是一个轻量级的日志收集器,用于从多个服务器上收集和转发日志数据。该工具提供了一个快速且灵活的方法来读取多个日志文件,包括系统日志、应用程序日志和安全日志等。由于其轻量化的特性,Filebeat 可以提供高性能的数据收集,并消耗较少的系统资源。 底层架构上,Filebeat 可以将日志数据转发到 Kafka 以供后续处理,同时,Kafka 可以将处理完成的数据转发到 Elasticsearch 索引中,从而让 Kibana 提供友好的用户界面进行可视化和分析。在这个集成方案中,每个组件都贡献其自身的优势,从而实现了一个用于日志收集、处理、存储和展现的完整系统。 ### 回答3: ElasticsearchLogstashKibana和Beats,简称ELK,是一个开源的数据收集和分析平台。随着互联网的不断发展,日志数据的产生量已经变得越来越大,ELK逐渐成为了企业处理和分析大数据的主流工具之一。其中,Kafka和Filebeat则是ELK平台中重要的两个工具。 Kafka是一种高吞吐量的分布式发布-订阅消息系统,它可以处理消费者规模不断增长的数据流,实现消息的持久化、数据复制、分区和提交等功能。在ELK平台中,Kafka用于将采集过来的日志数据进行传输,具体流程如下: 首先,用Filebeat采集产生的日志数据,将数据推送到Kafka中;然后,从Kafka中取出数据,通过Logstash进行数据过滤、解析和清洗;最后,Logstash将清洗后的数据推送到Elasticsearch中进行存储和分析。 Filebeat是一个开源的轻量级数据收集工具,可以采集不同服务器上的日志数据,并将数据发送到Kafka中。Filebeat具有占用资源低、运行效率高等优点,是在ELK平台中数据采集的重要工具。 综上所述,Kafka和Filebeat作为ELK平台中重要的数据收集和传输工具,可以帮助企业快速、高效地收集和分析海量的日志数据,实现企业数据的全面监控和分析,提高企业的运营效率和竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值