Claus's Tech Blog

leave me alone i know what to do


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

MySQL Binlog以及Canal简单使用

发表于 2018-05-16 | 更新于 2018-05-17 | 阅读次数
| 字数统计 1,528 字

在ETL过程中,如何获取增量数据是完成ETL过程的主要解决问题,前面文章ETL增量数据的捕获中,使用日志对比的方法是一种比较好的获取增量数据流的方式,那篇文章里主要介绍了SQL Server的Change Data Capture这么个功能来完成增量数据的获取任务,这篇文章介绍一下对于MySQL来说,如何通过读取binlog来获取增量数据。

MySQL的日志

MySQL 的日志包括错误日志(ErrorLog),更新日志(Update Log),二进制日志(Binlog),查询日志(Query Log),慢查询日志(Slow Query Log)等。在默认情况下,系统仅仅打开错误日志,关闭了其他所有日志。

阅读全文 »

ETL增量数据的捕获

发表于 2018-05-07 | 更新于 2018-05-08 | 阅读次数
| 字数统计 2,235 字

在日常的数据操作中,有种很常见的需求,就是要捕获上游数据源的变化,来对增量数据进行处理,如何捕捉变化的数据就变成了ETL过程的主要问题,一般对捕获过程有两个要求:1. 要按照一定的频率准确捕获到增量数据, 2. 不能对业务系统造成太大压力。

常见的捕获增量数据的方法有以下几种:

  1. 触发器
  2. 时间戳
  3. 全表对比
  4. 日志监控

下面逐个分析一下

阅读全文 »

Flume1.8安装和入门实例

发表于 2018-04-20 | 更新于 2018-05-16 | 分类于 Big Data , Flume | 阅读次数
| 字数统计 1,287 字

Flume简介

Flume是一个分布式的,可靠的,可用的,可以非常有效率的对大数据的日志数据进行收集、聚集、转移。

Flume

每一个flume进程都有一个agent层,agent层包含有source、channel、sink:

  • source:采集日志数据,并发送给channel
  • channel:管道,用于连接source和sink,它是一个缓冲区,从source传来的数据会以event的形式在channel中排成队列,然后被sink取走。
  • sink:获取channel中的数据,并存储到目标源中,目标源可以是HDFS和Hbase
阅读全文 »

Kafka入门

发表于 2018-04-18 | 更新于 2018-05-10 | 分类于 Big Data , Kafka | 阅读次数
| 字数统计 1,749 字

Kafka是一个分布式消息发布订阅系统,Kafka可以用于以下场景:

  • 消息系统, 例如ActiveMQ 和 RabbitMQ.
  • 站点的用户活动追踪。 用来记录用户的页面浏览,搜索,点击等。
  • 操作审计。 用户/管理员的网站操作的监控。
  • 日志聚合。收集数据,集中处理。
  • 流处理等

流处理平台

阅读全文 »

记录配置伪分布式Hadoop环境遇到的坑

发表于 2018-04-17 | 更新于 2018-04-20 | 分类于 Big Data , Hadoop | 阅读次数
| 字数统计 1,340 字

问题

本地mac搭了个Hadoop3.0的伪分布式环境,HDFS运行正常、MapReduce单机模式也正常,JPS后台守护进程都正常。但是写了个MapReduce任务,想去跑一下,结果卡在了Map 100% Reduce 0%

stuckAtReduce

去stackoverflow查了一圈,基本都在说运行环境没有分配足够的内存导致的,从container的syslog里面只有下面的ERROR:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#1
at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:377)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1965)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)
Caused by: java.io.IOException: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
at org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.checkReducerHealth(ShuffleSchedulerImpl.java:396)
at org.apache.hadoop.mapreduce.task.reduce.ShuffleSchedulerImpl.copyFailed(ShuffleSchedulerImpl.java:311)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.openShuffleUrl(Fetcher.java:291)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.copyFromHost(Fetcher.java:330)
at org.apache.hadoop.mapreduce.task.reduce.Fetcher.run(Fetcher.java:198)
阅读全文 »
1234…15
Shuo Lv

Shuo Lv

72 日志
15 分类
50 标签
GitHub Weibo 知乎 LinkedIn Facebook
友情链接
  • 公式编辑器
  • 可视化Python代码
  • Python最佳实践
© 2015 - 2018 Shuo Lv
由 Hexo 强力驱动
主题 - NexT.Pisces