文档章节

spark学习之Lambda架构日志分析流水线

m
 modprobe
发布于 2016/11/08 09:57
字数 384
阅读 155
收藏 0

单机运行

一、环境准备

Flume 1.6.0

Hadoop 2.6.0

Spark 1.6.0

Java version 1.8.0_73

Kafka 2.11-0.9.0.1

zookeeper 3.4.6

 

二、配置

spark和hadoop配置见()

kafka和zookeeper使用默认配置

1、kafka配置

启动

bin/kafka-server-start.sh config/server.properties

创建一个test的topic

bin/kafka-topics.sh --create --zookeeper vm: 2181 --replication-factor 1 --partitions 1 --topic test

 

2、flume配置文件,新建一个dh.conf文件,配置如下

其中发送的内容为apache-tomcat-8.0.32的访问日志

#define c1
agent1.channels.c1.type = memory
agent1.channels.c1.capacity = 2000000
agent1.channels.c1.transactionCapacity = 100
#define c1 end

#define c2
agent1.channels.c2.type = memory
agent1.channels.c2.capacity = 2000000
agent1.channels.c2.transactionCapacity = 100
#define c2 end

#define source monitor a file
agent1.sources.avro-s.type = exec
agent1.sources.avro-s.command = tail -f -n+1 /usr/local/hong/apache-tomcat-8.0.32/logs/localhost_access_log.2016-02-19.txt
agent1.sources.avro-s.channels = c1 c2
agent1.sources.avro-s.threads = 5

# send to hadoop
agent1.sinks.log-hdfs.channel = c1
agent1.sinks.log-hdfs.type = hdfs
agent1.sinks.log-hdfs.hdfs.path = hdfs://vm:9000/flume
agent1.sinks.log-hdfs.hdfs.writeFormat = Text
agent1.sinks.log-hdfs.hdfs.fileType = DataStream
agent1.sinks.log-hdfs.hdfs.rollInterval = 0
agent1.sinks.log-hdfs.hdfs.rollSize = 1000000
agent1.sinks.log-hdfs.hdfs.rollCount = 0
agent1.sinks.log-hdfs.hdfs.batchSize = 1000
agent1.sinks.log-hdfs.hdfs.txnEventMax = 1000
agent1.sinks.log-hdfs.hdfs.callTimeout = 60000
agent1.sinks.log-hdfs.hdfs.appendTimeout = 60000

#send to kafaka
agent1.sinks.log-sink2.type = org.apache.flume.sink.kafka.KafkaSink
agent1.sinks.log-sink2.topic = test
agent1.sinks.log-sink2.brokerList = vm:9092
agent1.sinks.log-sink2.requiredAcks = 1
agent1.sinks.log-sink2.batchSize = 20
agent1.sinks.log-sink2.channel = c2


# Finally, now that we've defined all of our components, tell
# agent1 which ones we want to activate.
agent1.channels = c1 c2
agent1.sources = avro-s
agent1.sinks = log-hdfs log-sink2

 

三、测试flume发送

1、启动hdfs

./start-dfs.sh

2、启动zookeeper

./zkServer.sh start

3、kafka的见上面

4、启动flume

flume-ng agent -c conf -f dh.conf -n agent1 -Dflume.root.logger=INFO,console

 

四、测试效果

运行kafka的consumer查看

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

可以看到如下内容说明kafka和flume的配置成功

访问hdfs查看如果/flume可以下载文件进行查看验证hdfs发送是否成功

本文转载自:http://www.cnblogs.com/modprobe/p/5195684.html

共有 人打赏支持
m
粉丝 1
博文 35
码字总数 0
作品 0
私信 提问
打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用

1.下载spark和运行 wget http://apache.fayea.com/apache-mirror/spark/spark-1.0.0/spark-1.0.0-bin-hadoop2.tgz 我这里下载的是1.0.0版,由于我们只是测试spark的用法所以不需要配置spark集...

豚鼠窝窝
2014/07/10
0
0
从Hadoop到Spark的架构实践

当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆;同年,Spark Meetup在北京、上海、深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内...

Emilypz
2015/10/10
1K
0
地铁译:Spark for python developers ---Spark流式数据处理

先研究一下不断改变的动态环境带来的挑战,在列出流处理应用的先决条件(如,Twitter的TCP Sockets连接)之后, 结合Spark, Kafka 和 Flume 把数据放入一个低延迟,高吞吐量,可缩放的处理流...

abel_cao
今天
0
0
地铁译:Spark for python developers ---Spark与数据的机器学习

机器学习可以从数据中得到有用的见解. 目标是纵观Spark MLlib,采用合适的算法从数据集中生成见解。对于 Twitter的数据集, 采用非监督集群算法来区分与Apache
Spark相关的tweets . 初始输入...

abel_cao
今天
0
0
使用 Apache Spark 的 Lambda 架构

目标 市场上很多玩家已经建造了MapReduce工作流用来日常处理兆兆字节的历史数据。但是谁愿意等待24小时来拿到更新后的分析报告?这篇博客会向你介绍Lambda Architecture,它被设计出来既可以...

oschina
2016/11/04
3.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

jdk8-64

https://pan.baidu.com/s/1sunIF-dBeyDKjFEpuYFyTQ 密码:jhuj

默克鱼
8分钟前
0
0
CentOS 7 网络设置及静态IP配置

一、 CentOS 7 网络设置 使用 CentOS 7 NetInstall(最小安装盘)安装的CentOS默认是没有配置网络的,可以使用 ping 试一下,结果肯定是不能执行的,ping 指定ip不通是没有网络,ping域名不通是...

calmsnow
11分钟前
0
0
前端未来几年的路该怎么走?

在知乎上看到这么一个问题,觉得很有意思,以下是原提问者的见解 过去五年前端的发展过程基本上是一个工程化的过程,框架和工程化工具层出不穷。 近两年其实发展已经比较迟滞了。 框架方面:基...

前端攻城小牛
13分钟前
0
0
LIst的逆向遍历

public class list_demo { public static void main(String[] args) {// TODO Auto-generated method stub List list=new ArrayList<>(); list.add("a"); list.add("b");......

南桥北木
56分钟前
3
0
MySQL插入性能优化

MySQL插入性能优化 标签: 博客 [TOC] 可以从如下几个方面优化MySQL的插入性能。 代码优化 values 多个 即拼接成一个insert values sql, 例如 INSERT INTO MyTable ( Column1, Column2, Co...

蒋先生66
59分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部