Spark Streaming结合Flume和Kafka的日志分析是怎样的

发布时间:2021-12-15 10:13:54 作者:柒染
来源:亿速云 阅读:169

今天就跟大家聊聊有关Spark Streaming结合Flume和Kafka的日志分析是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Spark Streaming结合Flume、Kafka的日志分析

1.修改相应的配置文件

按照 http://my.oschina.net/sunmin/blog/692994

整合安装Flume+Kafka+SparkStreaming

将flume/conf/producer.conf将需要监控的日志输出文件修改为本地的log 路径:
/var/log/nginx/www.eric.aysaas.com-access.log

2.导入相关 jar 包

(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的“Modules”显示下图界面

Spark Streaming结合Flume和Kafka的日志分析是怎样的

jar 包自己编译,或者去载  http://search.maven.org/#search|ga|1|g%3A%22org.apache.spark%22%20AND%20v%3A%221.6.1%22

3.新建log/KafkaTest.scala 代码如下

import kafka.serializer.StringDecoder
import org.apache.spark.SparkConf
import org.apache.spark.streaming.dstream.DStream
import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.streaming.kafka.KafkaUtils

/**
  * flume+kafka+SparkStreaming 实时 nginx 日志获取
  * Created by eric on 16/6/29.
  */
object KafkaLog {

  def main(agrs: Array[String]): Unit = {

    val sparkConf = new SparkConf().setMaster("local[1]").setAppName("StreamingTest")
    val ssc = new StreamingContext(sparkConf, Seconds(20))//代表一个给定的秒数的实例

    val topic = "HappyBirthDayToAnYuan"
    val topicSet = topic.split(" ").toSet

    //用 brokers and topics 创建 direct kafka stream
    val kafkaParams = Map[String, String]("metadata.broker.list" -> "localhost:9092")

    //直接从 kafka brokers 拉取信息,而不使用任何接收器.
    val messages = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
      ssc, kafkaParams, topicSet
    )
    val lines = messages.map(_._2)
    lines.print()
    val words: DStream[String] = lines.flatMap(_.split("\n"))
    words.count().print()

    //启动
    ssc.start()
    ssc.awaitTermination()
  }
}

4.Test

访问本地页面产生日志 http://www.eric.aysaas.com/app/admin

在这20秒内总共产生的日志行数为:

Spark Streaming结合Flume和Kafka的日志分析是怎样的

看完上述内容,你们对Spark Streaming结合Flume和Kafka的日志分析是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. 五、spark--spark streaming原理和使用
  2. Spark Streaming 技术点汇总

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sparkstreaming kafka flume

上一篇:Qt怎么实现人脸识别服务端

下一篇:Qt怎么实现人脸识别客户端

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》