大数据学习之路
文章平均质量分 72
分析大数据学习路上遇到的各种坑,为新学习大数据的人铺平道路
Lnho
发表是最好的记忆
展开
-
深入理解Basic Paxos协议
Paxos作用Paxos用来在多个节点间确定并只确定一个不可变变量的取值。(一旦确定后就不可以更改)基本概念系统内部由多个Acceptor组成,也就是参与决议的一方,用于存储和管理变量。系统外部有多个Proposer可以任意并发调用API,向系统提交不同的提议。Proposer发起的每项提议分别用一个ID标识,提议可表示为(ID, value)。ID是一个比较大小的值,比如可以用当前时间戳。原创 2017-12-02 20:50:45 · 1546 阅读 · 0 评论 -
2PC和3PC中故障情况分析
2PC故障情况分析1. 协调者正常,参与者宕机发生在第二阶段:无论协调者发起的是提交还是终止,那宕机的参与者在重启之后,都将执行对应操作,不存在不一致情况。发生在第一阶段:由于协调者无法收集到所有参与者的反馈,会陷入阻塞情况。解决办法:引入超时机制。超过指定时间未收到反馈,事务失败,向所有节点发送终止事务请求。宕机的节点启动后,收到终止事务请求,该事务失败。小结简单来说,由于协调者没挂,原创 2017-12-01 12:58:08 · 3693 阅读 · 3 评论 -
Presto内存管理源码分析
1. 内存池初始化初始化代码在LocalMemoryManager中,启动时将内存分为3个内存池,分别是:RESERVED_POOL:预留内存池,用于执行最耗费内存资源的查询。GENERAL_POOL:普通内存池,用于执行除最耗费内存查询以外的查询。SYSTEM_POOL:系统内存池,预留的用于Presto内部数据结构和临时的分配需求使用的内存。long maxHeap = Runtime.原创 2017-11-24 21:21:00 · 2881 阅读 · 0 评论 -
Presto日志中出现大量的Triggering GC to avoid Code Cache eviction bugs
问题描述:Presto日志中出现大量的2017-07-31T15:31:21.505+0800 INFO Code-Cache-GC-Trigger com.facebook.presto.server.CodeCacheGcTrigger Triggering GC to avoid Code Cache eviction bugs排查过程:1. 检查Presto源码出现该条日原创 2017-08-02 21:14:50 · 2486 阅读 · 5 评论 -
数据仓库与联机分析处理笔记
本文为《数据挖掘:概念与技术》中“数据仓库与联机分析处理”的阅读笔记。4. 数据仓库与联机分析处理ETL:用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。数据仓库提供联机分析处理(OLAP)工具,用于各种粒度的多维数据的交互分析,有利于有效的数据泛化和数据挖掘。数据立方体,是一种用于数据和OLAP以及OLAP操作(如上卷、下钻、切片原创 2017-11-21 00:10:42 · 1913 阅读 · 0 评论 -
HiveJDBC与其他JDBC一起使用时出现java.lang.IllegalArgumentException: Bad URL format
程序中需要使用JDBC的方式同时访问Hive和MySQL,发现在获取MySQL连接的时候(DriverManager.getConnection方法)出现Hive的类中的Bad URL format异常。代码如下: public Connection getMySqlConn() { Connection conn = null; try {原创 2017-07-07 11:40:47 · 3318 阅读 · 5 评论 -
Flume 1.7 源码分析(五)从Channel获取数据写入Sink
6 从Channel获取数据写入Sink6.1 Sink部分Sink部分主要分为以下3个步骤: 1. 由SinkRunner不断调用SinkProcessor的process方法。 2. 根据配置的SinkProcessor的不同,会使用不同的策略来选择sink。SinkProcessor有3种,默认是DefaultSinkProcessor。 3. 调用选择的sink的process原创 2017-03-04 17:46:27 · 3646 阅读 · 0 评论 -
Flume 1.7 源码分析(四)从Source写数据到Channel
5 从Source写数据到Channel5.1 Source部分5.1.1 SourceRunnerSourceRunner就是专门用于运行Source的一个类。 在”物化配置”一节获取配置信息后,会根据Source去获取具体的SourceRunner,调用的是SourceRunner的forSource方法。public static SourceRunner forSource(Sour原创 2017-03-01 13:42:04 · 4190 阅读 · 4 评论 -
Flume 1.7 源码分析(三)程序入口
Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 Flume 1.7 源码分析(三)程序入口 4 程序入口启动Flume的过程可以简单分为2个步骤: 1. 获取相关配置文件(一般来说就是flume-conf.properties)。 2. 启动各组件。不特别说明,本文中的组件是指实现了LifecycleAware接口的类的对象,一般就是原创 2017-02-27 13:20:03 · 4214 阅读 · 5 评论 -
Flume 1.7 源码分析(二)整体架构
Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 3 整体架构Flume有三大组件:Source、Channel、Sink。Source就是数据来源,例如Web Server产生日志后,可使用ExecSource执行tail -F命令后不断监听日志文件新生成的数据,然后传给Channel。Channel就是一个缓存队列,由于读取数据和写入数据的速原创 2017-02-27 13:07:56 · 4160 阅读 · 4 评论 -
Flume 1.7 源码分析(一)源码编译
1 说明Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,目前已经是Apache的一个子项目。Flume是一个专用工具被设计为旨在往HDFS、HBase发送数据。它对HDFS有特殊的优化,并且集成了Hadoop的安全特性。本文将详细分析Flume核心模块的源码实现。2 下载、编译2.1 源码检出Flume源码的git地址是:https://git-w原创 2017-02-26 16:11:45 · 4796 阅读 · 6 评论 -
Flume 1.6 遇Emoji表情发生截断丢失数据问题分析
问题描述最近有一段时间,跑ETL的时候,发现出来的数据明显比之前少,少了大约一半左右,就开始排查。 我们的数据是从Flume采集过来的,排查日志发现,flume在读取到某一条的时候,就不再往下读取了。问题分析进一步拿到原始文件后,找到那条数据。用vim打开发现其中有个地方有两个空格。起初以为是乱码(之前flume出过乱码中断的问题),贴到ide里面,得到具体编码,发现是四字节的utf-8编码。贴到原创 2017-02-04 07:19:22 · 2155 阅读 · 6 评论 -
Flume学习笔记(二)问题整理
本文环境如下: 操作系统:CentOS 7.2.1511 64位 Flume版本:1.6.01. 当Flume与Hadoop不在同一服务器上当Flume与Hadoop不在同一服务器上时,又配置了写HDFS,则Flume启动时会报找不到类的错误。 需要添加Hadoop相关的包到flume的classpath配置中(或者直接拷贝到flume的lib文件夹中)。 具体需要的包,我是在ma原创 2016-08-04 13:51:11 · 3652 阅读 · 1 评论 -
Flume学习笔记(一)安装与简单使用
本文环境如下: 操作系统:CentOS 7.2.1511 64位 Flume版本:1.6.01. 系统需求Flume需要Java 1.6及以上(推荐1.7),对Agent监控目录的读写权限。2. 下载软件包到Flume官网上http://flume.apache.org/download.html下载软件包,例如:wget "http://mirrors.cnnic.cn/apache原创 2016-07-26 13:56:46 · 13575 阅读 · 10 评论 -
Flume性能测试报告
1. 测试环境1.1 硬件CPU:Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz(8核) 内存:16G1.2 软件Flume:1.6.0 Hadoop:2.6.0-cdh5.5.0 Kfaka:2.11-0.9.0.1 JDK:1.8.0_91-b14 64位 1.3 测试文件文件大小:107M ,共490010条记录1.4 Flume配置(原创 2016-07-15 13:42:09 · 13570 阅读 · 4 评论 -
关于Storm Tick
转载自kqdongnanf-博客园;Email:kqdongnanf@yahoo.com。1. tick的功能Apache Storm中内置了一种定时机制——tick,它能够让任何bolt的所有task每隔一段时间(精确到秒级,用户可以自定义)收到一个来自__systemd的__tick stream的tick tuple,bolt收到这样的tuple后可以根据业务需求完成相应的处理。Tick功能从转载 2016-05-25 13:23:02 · 22227 阅读 · 3 评论 -
YARN体系学习笔记
一、基本组成结构1. ResourceManager负责对各个NodeManager 上的资源进行统一管理和调度。包含两个组件: * Scheduler:调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序 * Applications Manager:应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调原创 2016-05-20 16:12:15 · 18796 阅读 · 6 评论 -
Presto常用语句整理
查询从0或多个表获取数据行[ WITH with_query [, ...] ]SELECT [ ALL | DISTINCT ] select_expr [, ...][ FROM from_item [, ...] ][ WHERE condition ][ GROUP BY expression [, ...] ][ HAVING condition][ UNION [ ALL |原创 2016-05-16 22:08:40 · 79172 阅读 · 5 评论 -
HDFS High Availability体系介绍(Using the Quorum Journal Manager)
一、背景HDFS集群中只有一个Namenode,这就会引入单点问题;即如果Namenode故障,那么这个集群将不可用,直到Namenode重启或者其他Namenode接入。 有两种方式会影响集群的整体可用性: 1. 意外的突发事件,比如物理机器crash,集群将不可用,直到管理员重启Namenode。 2. 系统维护,比如软件升级等,需要关闭Namenode,也会导致集群暂时性的失效。转载 2016-05-16 11:19:20 · 12891 阅读 · 4 评论 -
Hive体系结构(四)注意事项与扩展特性
Hive体系结构(一)架构与基本组成 Hive体系结构(二)Hive的执行原理、与关系型数据库的比较 Hive体系结构(三)元数据库与基本操作 Hive体系结构(四)注意事项与扩展特性1. 使用HIVE注意点字符集 Hadoop和Hive都是用UTF-8编码的,所以, 所有中文必须是UTF-8编码, 才能正常使用。 备注:中文数据load到表里面,,如果字符集不同,很有可能转载 2016-05-15 18:00:39 · 12137 阅读 · 0 评论 -
Hive体系结构(三)元数据库与基本操作
Hive体系结构(一)架构与基本组成 Hive体系结构(二)Hive的执行原理、与关系型数据库的比较 Hive体系结构(三)元数据库与基本操作1. Hive元数据库Hive将元数据存储在RDBMS 中,一般常用的有MYSQL和DERBY。 hive元数据对应的表约有20个,其中和表结构信息有关的有9张,其余的10多张或为空,或只有简单的几条记录,以下是部分主要表的简要说明。 表名转载 2016-05-15 17:34:04 · 6353 阅读 · 0 评论 -
Hive体系结构(二)Hive的执行原理、与关系型数据库的比较
接上篇:Hive体系结构(一)架构与基本组成1. Hive执行原理Hive构建在Hadoop之上, 1. HQL中对查询语句的解释、优化、生成查询计划是由Hive完成的 2. 所有的数据都是存储在Hadoop中 3. 查询计划被转化为MapReduce任务,在Hadoop中执行(有些查询没有MR任务,如:select * from table) 4. Hadoop和Hive都是用UTF-8编转载 2016-05-15 17:11:27 · 11759 阅读 · 0 评论 -
Hive体系结构(一)架构与基本组成
1 Hive的体系结构划分下面是Hive的架构图: 1. 用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动 Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。 WUI是通过浏览器访问Hive。转载 2016-05-12 14:13:14 · 13660 阅读 · 0 评论 -
15分钟了解Apache Phoenix(HBase的开源SQL引擎)
翻译自官方文档(http://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html),翻译的不好,望轻拍砖!什么是Phoenix?Phoenix是一个开源的HBase的SQL外壳。你可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据。不要在我的程序和HBase之间增加额外的层,它只会拖慢速度的?事实翻译 2016-05-12 19:48:38 · 10518 阅读 · 0 评论 -
HiveQL基本操作整理
1. 创建操作1.1 创建表CREATE TABLE pokes (foo INT, bar STRING);1.2 基于现有的表结构创建一个新表create table new_table like records;1.3 创建视图:CREATE VIEW valid_records AS SELECT * FROM records2 WHERE temperature !=9999;1.4原创 2016-05-12 09:12:09 · 7940 阅读 · 1 评论 -
CentOS下Hive2.0.0集群模式安装详解
本文环境如下: 操作系统:CentOS 6 32位 Hive版本:2.0.0 JDK版本:1.8.0_77 32位 Hadoop版本:2.6.41. 准备工作先完成CentOS下Hive2.0.0单机模式安装详解中的前三个步骤。 Hive和Hadoop一样,有3种启动模式,分别是单机模式,伪分布模式,分布模式。这里说一下分布模式(集群模式)的安装部署方案。 这边使用My原创 2016-05-09 19:38:19 · 8045 阅读 · 5 评论 -
Kafka使用Java客户端进行访问
本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11)1. maven依赖包<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version原创 2016-05-09 16:15:48 · 35797 阅读 · 3 评论 -
Kafka单机、集群模式安装详解(二)
本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11)接上篇 Kafka单机、集群模式安装详解(一)6. 单节点多Broker模式Kafka使用可以有多种模式,包括单节点单Broker,单节点多Broker,多节点多Broker。 这里我们简单区分一下: 单节点单Broker:在单台机子原创 2016-05-09 14:47:06 · 7171 阅读 · 0 评论 -
Kafka单机、集群模式安装详解(一)
本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11)1. 所需要的环境Kafka需要以下运行环境: Java 安装参考CentOS 6使用rpm方式安装JDK8 Zookeeper 安装参考:CentOS下ZooKeeper单机模式、集群模式安装2. 下载、解压Kafka安装包Ka原创 2016-05-09 14:41:49 · 22464 阅读 · 3 评论 -
CentOS下Hive2.0.0单机模式安装详解
本文环境如下: 操作系统:CentOS 6 32位 Hive版本:2.0.0 JDK版本:1.8.0_77 32位 Hadoop版本:2.6.41. 所需要的环境Hive 2.0需要以下运行环境: Java 1.7以上(强烈建议使用Java 1.8) Hadoop 2.X2. 下载、解压Hive安装包Hive官网地址: http://hive.apache.org/原创 2016-05-03 20:23:38 · 14047 阅读 · 0 评论 -
CentOS下Storm 1.0.0集群安装详解
本文环境如下: 操作系统:CentOS 6 32位 ZooKeeper版本:3.4.8 Storm版本:1.0.0 JDK版本:1.8.0_77 32位 Python版本:2.6.6 集群情况:一个主控节点(Master)和两个工作节点(Slave1,Slave2)1. 搭建Zookeeper集群安装参考:CentOS下ZooKeeper单机模式、集群模式安装2原创 2016-04-13 15:16:19 · 15124 阅读 · 0 评论 -
CentOS下ZooKeeper单机模式、集群模式安装
本文环境如下: 操作系统:CentOS 6 32位 ZooKeeper版本:3.4.80. 环境需求Zookeeper需要JDK1.6以上版本的Java环境 可以参考: CentOS 6使用rpm方式安装JDK81. 下载软件包到ZooKeeper官网上http://zookeeper.apache.org/下载软件包,例如:wget "http://apache.opencas.原创 2016-04-13 13:42:58 · 10091 阅读 · 0 评论 -
CentOS 6 安装Hadoop 2.6 (四)运行简单例子
CentOS 6 安装Hadoop 2.6 (一)准备工作 CentOS 6 安装Hadoop 2.6 (二)配置Hadoop CentOS 6 安装Hadoop 2.6 (三)问题收集 CentOS 6 安装Hadoop 2.6 (四)运行简单例子1.新建输入文件mkdir ~/inputcd ~/input vi file1写入Hello world haha good原创 2016-04-11 15:23:13 · 5064 阅读 · 0 评论 -
CentOS 6 安装Hadoop 2.6 (三)问题收集
排查错误的重要途径就是检查日志文件,如果按照上文的配置方法,配置文件在/opt/hadoop-2.6.4/logs/底下,主要需要关注的是后缀是log的几个文件。先检查你的主节点,再检查从节点。1. 日志中出现XXX连接不上,一直重试这种情况在从节点的日志中很常见。(1) 确认hosts文件是否配置正确以下是笔者的master节点的hosts文件127.0.0.1 localhost local原创 2016-04-11 12:38:03 · 2647 阅读 · 0 评论 -
CentOS 6 安装Hadoop 2.6 (二)配置Hadoop
CentOS 6 安装Hadoop 2.6 (一)准备工作 CentOS 6 安装Hadoop 2.6 (二)配置Hadoop下文服务器描述:一个主节点master,2个从节点slave1和slave2。1. 解压文件tar -xzvf hadoop-2.6.4.tar.gzmv hadoop-2.6.4 /opt/2. 配置环境变量vi etc/profile到末尾增加以下内容HADOOP_H原创 2016-04-11 12:01:15 · 3300 阅读 · 1 评论 -
CentOS 编译Hadoop 2.6 32位
本文采用CenOS 6 32位,JDK1.7进行编译 (1)安装编译库yum install cmake lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool ncurses-devel openssl-devel libXtst(2)安装mavenwget http://repos.fedorapeople.org/repos/dc原创 2016-04-08 12:50:33 · 2238 阅读 · 1 评论 -
分布式网站架构后续:zookeeper技术浅析
Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper到底有哪些实际的运用,哪些类型的应用能发挥zookeeper的优势,最后谈谈zookeeper对分布式网站架构能产生怎样的作用。 Zookeeper是针对大型分布转载 2015-06-20 09:33:58 · 1021 阅读 · 0 评论 -
windows 64位上eclipse访问hadoop
1. hadoop环境变量vi etc/profile export HADOOP_PREFIX=/home/webadmin/hadoop-2.5.2 export HADOOP_PREFIX PATH CLASSPATH2. 拷贝到其他主机scp -r ~/hadoop-2.5.2 webadmin@116.211.91.59:~/hadoop-2.5.23. windows 64位上ecl原创 2015-05-15 22:09:29 · 1053 阅读 · 0 评论 -
CentOS 6 安装Hadoop 2.6 (一)准备工作
!!!重要:hadoop 2.5以后的版本都是64位编译的,如果你非要在32位的系统上使用,你需要重新编译源码! 以下采用CentOS 6 i386,JDK8,hadoop-2.6.4进行安装。1. 修改hostsCentOS修改主机名(hostname) (注意把自己的机子放在第一行,hbase那边会读这个数据)2. SSH免密码登录Linux配置SSH无密码登录3. 安装JDKCentOS原创 2015-05-15 22:01:04 · 2001 阅读 · 0 评论