• 百度PALO技术整理分析

    以下内容基本源于百度PALO(OLAP分析引擎)对外的一个视频演讲,讲的比较形象,下面做了简单的摘抄。 总体架构图 PALO对外体现为一个mysql的服务器,所有mysql相关的工具:mysql client,JDBC,基于mysql的报表工具、R语言等,都可以直接对接PALO。 FE即Front End,PALO使用了RAFT协议来共享元数据,所有FE都可以接收用户请求。RAFT协议类似PAXOS(代表实现zookeeper),但要简化很多。master故障后,follower可以根据che...


  • 使用nginx+keepalived实现RESTful API服务器的负载均衡和高可靠性

    1、设置nginx.repo: 2、安装nginx、keepalived 3、修改keepalived的配置文件 4、使用脚本检测nginx服务 5、配置nginx 5.1 配置nginx 5.2 配置ssl需要的server.crt、server.key 5.3 坑 核心需求是我们有一个RESTful API的服务集群,需要能够保证不管是web服务故障还是服务器整体故障,外部访问不会间断,并且在整体运行正常的时候,...


  • Hibernate之Hello World

    1、创建工程,导入Hibernate库。 2、建立包com.xxx.hibernatest 3、建立实体类的映射 4、对象类定义。 5、main入口 6、Hibernate主配置 Hibernate是一个优秀的持久化框架,其主要功能是将内存里的瞬时状态,通过JDBC持久化到硬盘数据库上。Hibernate以面向对象的思想来解决数据库的问题,可以简化数据库的访问。 这篇文章通过一个简单的示例,来建立Hibernate的初步认识,较水,记录用。 示例代码基本是从这篇文章里抄...


  • MapReduce具体问题(二)

    前一篇文章解答了Map任务数、启动人的细节,下面我们解答第二个问题: HDFS的block是否粗暴但忠实的将文件按照64MB分片呢?如果是的话,怎么保证Map获取到的Splits是正确的?具体到wordcount,MR是怎么处理一个单词跨block的情况呢? 我们从Map任务的人口开始说起。前面YARN分析的时候有提到过,AppMaster会将task提交到NodeManager,在NM的container里运行具体的任务。具体到MR来说,运行的任务就是MapTask/ReduceTask。 来看M...


  • MapReduce具体问题(一)

    MapReduce比较基础,但是经常会有一些问题不是很清楚,这一系列文章会解答几个经常问的问题。 本文解答第一个问题:是谁决定要起几个Map任务?在什么阶段呢? 还是以wordcount为例。 wordcount客户端在初始化job后调用Job.waitForCompletion方法就结束了,真正提交Job给Yarn的在MapReduce客户端代码的submit里做的。 public boolean waitForCompletion(boolean verbose ...


  • 读书笔记:hive简介(一)

    1 安装 1.1 hive外壳环境 1.2 示例 2 hive运行解析 2.1 配置 2.2 日志 2.3 hive服务端 2.4 客户端 2.5 metastore 3 与传统数据库比较 3.1 读时模式 vs 写时模式 3.2 更新、事务和索引 4 HiveQL Hive是一个运行在hadoop之上...


  • Hadoop文件系统:HDFS

    1 概述 2 架构 块 文件访问权限 3 文件读取 3.1 访问接口 3.2 客户端读取HDFS过程 4 文件写入 6 Fedoration 7 小文件解决方案 8 distcp 1 概述 HDFS应用场景:存储超大型流式处理数据(Terabytes和Petabytes级别)。 总的来说,HDFS的特点有这么几个: “write once, read many”,只...


  • Spark(一):介绍、初体验

    1 介绍 2 安装 3 核心:RDD 4 基本架构 5 Quick start 5.1 spark shell 5.2 Self-Contained Applications 1 介绍 Spark是一个快速、通用的集群计算系统,提供JAVA/Scala/Python API,以及一系列的高级工具:Spark SQL/MLib/GrapyX/Spark Streaming. Spark的编程语言是scala,同样采用scala的还...


  • 流式计算框架Storm介绍

    1 背景:MR的问题 2 Storm的优势 3 编程模型 3.1 wordcount示例 4 基本架构 5 记录级容错 1 背景:MR的问题 启动时间长。多采用pull模型,没有JVM缓存池 调度开销大 中间数据写磁盘 storm的出现,可以比较好的解决上面的问题。 2 Storm的优势 实时计算、流式计算。水管不停的产生数据,流向中间的螺栓(处理逻辑)。 Storm出现之前的解决方法:消息队列,读取消息队列,更新数据...


  • 笔记:DAG计算框架Tez

    1 介绍 2 数据处理引擎 2.1 6种应用程序接口: 2.2 数据处理引擎 3 DAG编程模型 4 Tez带来的优化技术 5 总结 6 示例 1 介绍 目前的问题:如果作业由多个MR任务完成,则必然经过多次完整的Map–shuffer–Reduce,中间节点的数据多次写入HDFS,浪费IO读写。(可以将HDFS理解为多个任务之间的共享存储。)Tez的引入可以较小的代价的解决这一问题。 Tez采用了DAG(有向无环图)来组...