Lanyon 记录下日常工作与学习哈~,还有技术分享哦。。🎉

大数据时代数据仓库Hive

Hadoop大数据平台及生态系统中,使用mapreduce模型进行编程,对广大用户来说,仍然是具有挑战性的任务。人们希望使用熟悉的SQL语言,对hadoop平台上的数据进行分析处理,这就是SQL On Hadoop系统诞的背景。

SQL on Hadoop是一类系统的简称,这类系统利用Hadoop实现大量数据的管理,具体是利用HDFS实现高度可扩展的数据存储。在HDFS之上,实现SQL的查询引擎,使得用户可以使用SQL语言,对存储在HDFS上的数据进行分析。

Apache Hive的产生

Hive是基于Hadoop的一个数仓工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的类SQL(HQL)查询功能,可以将HQL语句转换成为MapReduce任务进行运行。使用类SQL语句就可快速实现简单的MapReduce统计,不必开发专门的MapReduce应用。Apache Hive是由Facebook开发并开源,最后贡献给Apache基金会。

Hive系统整体3个部分:用户接口、元数据存储、驱动器(Driver)在Hadoop上计算与存储。

ReadMore »

大数据三架马车之Yarn、BigTable

Hadoop V1.0版本中,资源调度部分存在扩展性差、可用性差、资源利用率低的改问题,其中,Job Tracker既要做资源管理,又要做任务监控,同时Job的并发数页存在限制。同时,JobTracker存在单点故障问题,任务调度部分不支持调度流式计算、迭代计算、DAG模型。

2013年,Hadoop 2.0发布,引入了YarnHDFS HAFederation

Yarn的设计思路(Yet Another Resource Manager)

Yarn由三部分组成:ResourceManagerNodeManagerApplicationMaster,其中:RM掌控全局的资源,负责整个系统的资源管理和分配(处理客户端请求、启动/监控AMNM、资源调度和分配),NM驻留在一个YARN集群的节点上做代理,管理单个节点的资源、处理RMAM的命令,AM为应用程序管理器,负责系统中所有所有应用程序的管理工作(数据切分、为APP申请资源并分配、任务监控和容错)。

Yarn主要解决数据集群资源利用率低、数据无法共享、维护成本高的问题,常见的应用场景有:MapReduce实现离线批处理、Impala实现交互式查询分析、用Strom实现流式计算、在Spark下来完成迭代计算。

ReadMore »

大数据三架马车之MapReduce

HadoopApache的一个开源的分布式计算平台,以HDFS分布式文件系统和MapReduce计算框架为核心,为用户提供一套底层透明的分布式基础设施。

MapReduce提供简单的API,允许用户在不了解底层细节的情况下,开发分布式并行程序。利用大规模集群资源,解决传统单机无法解决的大数据处理问题,其设计思想起源于MapReduce Paper

MapReduce编程模型

MapReduce是一种用于处理和生成大型数据集的编程模型和相关实现,用户指定一个map()函数接收处理key/value对,同时产生另外一组临时key/value集合,reduce()函数合并相同intermediate key关联的value数据,以这种函数式方风格写的程序会自动并行化并在大型商品机器集群上运行。

Paper发布之前的几年,Jeffrey DeanGoogle的一些工程师已经实现了数百个用于处理大量原始数据且特殊用途的计算程序,数据源如抓取的文档、Web日志的请求等,来计算各种派生数据,像倒排索引、Web文档图结构的各种表示、每个主机爬取的页面数汇总等。

ReadMore »

大数据的三架马车之HDFS

主要介绍HDFS的基本组成和原理、Hadoop 2.0对HDFS的改进、HADOOP命令和基本API、通过读Google File System论文来理解HDFS设计理念。

HadoopApache一个开源的分布式计算平台,核心是以HDFS分布式文件系统和MapReduce分布式计算框架组成,为用户提供了一套底层透明的分布式基础设施。

HDFSHadoop分布式文件系统,具有高容错性、高伸缩性,允许用户基于廉价精简部署,构件分布式文件系统,为分布式计算存储提供底层支持。MapReduce提供简单的API,允许用户在不了解底层细节的情况下,开发分布式并行程序,利用大规模集群资源,解决传统单机无法解决的大数据处理问题,其设计思想起源Google GFSMapReduce Paper

在Mac上搭建Hadoop单机版环境

从 https://hadoop.apache.org 下载二进制的安装包,具体配置可进行Google。配置完成后,在执行HDFS命令时会提示 Unable to load native-hadoop library for your platform...using buildin-java classes..,运行Hadoop的二进制包与当前平台不兼容。

ReadMore »

k8s核心组件及pod组件间通信原理

介绍k8s的核心组件如PodControllerStatefulSet等组件以及组件间通信原理ServiceIngress服务。

Docker实例及Pods间的通信原理

在通信协议中“网络栈”包括有:网卡(network interface)、回环设备(loopback device)、路由表(routing table)和iptables规则。在docker中启动一个容器可使用宿主机的网络栈(-net=host),指定-net后默认不开启network namespace空间:

$ docker run –d –net=host --name nginx-host nginx

nginx服务启动后默认监听主机80端口,容器启动后会创建一个docker0的网桥。docker实例通过Veth Pair与宿主机建立连接关系,其中Veth的一端在容器内,另一段插在宿主机的docker0网桥上。

ReadMore »