
Hadoop基础教程
文章平均质量分 79
初学者最合适的Hadoop基础教程,手把手、一步步详细的操作过程,少走弯路,快速入门带您进入Hadoop大数据的世界。
程裕强
开源是人类最大的公益事业!--程裕强
展开
-
Hadoop-2.7.3源码分析:MapReduce作业提交源码跟踪
1、提交JobMapReduce程序框架请参考 http://blog.youkuaiyun.com/chengyuqiang/article/details/72804007@Override public int run(String[] args) throws Exception { //读取配置文件 Configuration conf = getConf()原创 2017-11-26 21:50:55 · 4438 阅读 · 2 评论 -
Hadoop源码分析:HDFS读取文件
Hadoop源码分析:HDFS读取文件上一篇博客http://blog.youkuaiyun.com/chengyuqiang/article/details/78636721分析了HDFS的DistributedFileSystem对象的创建过程。 然后就可以按照HDFS的API对HDFS中的文件和目录进行操作了,如列出某个目录中的文件和子目录、读取文件、写入文件等。1.1 FileSystem.open(原创 2017-11-26 17:52:41 · 1906 阅读 · 0 评论 -
Hadoop源码分析:FileSystem类
1、org.apache.hadoop.conf包org.apache.hadoop.conf包位于hadoop-common模块下 1.1 Configurable 接口package org.apache.hadoop.conf;import org.apache.hadoop.classification.InterfaceAudience;import org.apache.hadoop原创 2017-11-26 12:43:04 · 8898 阅读 · 1 评论 -
Hadoop源码分析:Writable接口和WritableComparable接口
1、 Writable接口由于Hadoop的MapReduce和HDFS都有通信的需求,需要对通信的对象进行序列化。Hadoop并没有采用Java的序列化,而是引入了它自己的系统。 org.apache.hadoop.io中定义了大量的可序列化对象,他们都实现了Writable接口。1.1 Writable接口源码package org.apache.hadoop.io;import java.i原创 2017-11-25 22:22:50 · 1024 阅读 · 0 评论 -
Hive数据倾斜问题总结
Hive数据倾斜问题总结1、MapReduce数据倾斜Hive查询最终转换为MapReduce操作,所以要先了解MapReduce数据倾斜问题。MapReduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他原创 2017-11-25 21:45:55 · 1507 阅读 · 0 评论 -
查看Hadoop HDFS 中的一个文件对应block信息
如果需要查看Hadoop HDFS 中的一个文件对应block信息,比如block数、block大小、block所在位置等,可以使用hdfs fsck命令。1. HDFS示例文件[root@node1 data]# hdfs dfs -ls /user/root/inputFound 7 items-rw-r--r-- 3 root supergroup 281498 2017-09原创 2017-10-05 21:57:11 · 13349 阅读 · 0 评论 -
Hadoop基础教程-第14章 大数据面试笔试题汇总(持续更新)
第14章 大数据面试笔试题汇总(持续更新)注意:大部分题目来自互联网,部分题目来自同事口述 14.1 Zookeeper(1)Zookeeper是什么框架 分布式的、开源的分布式应用程序协调服务,原本是Hadoop、HBase的一个重要组件。它为分布式应用提供一致性服务的软件,包括:配置维护、域名服务、分布式同步、组服务等 (2)说说你对zookeeper的理解 Z原创 2017-08-28 15:33:54 · 6074 阅读 · 0 评论 -
Hadoop基础教程-第13章 源码编译(13.4 Hive2.1.1源码编译)
第13章 源码编译与RPM打包13.4 Hive源码编译13.4.1 下载源码https://mirrors.tuna.tsinghua.edu.cn/apache/hive/单击stable-2下载源码apache-hive-2.1.1-src.tar.gz13.4.2 环境准备Hive2.1.1的源码包需要JDK1.8。如果使用JDK1.7编译是总是产生各种奇怪的问题,GC overhead l原创 2017-08-28 15:11:44 · 840 阅读 · 0 评论 -
Hadoop基础教程-第13章 源码编译(13.3 HBase1.2.6源码编译)
第13章 源码编译与RPM打包13.3 HBase源码编译13.3.1 下载源码https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/ 单击“stable”连接 下载源码hbase-1.2.6-src.tar.gz 13.3.2 解压缩[root@cyq opt]# tar -zxvf hbase-1.2.6-src.tar.g[root@cyq原创 2017-08-28 15:07:43 · 1235 阅读 · 0 评论 -
Hadoop基础教程-第13章 源码编译(13.2 Hadoop2.7.3源码编译)
第13章 源码编译与RPM打包13.2 Hadoop源码编译13.2.1下载Hadoop源码包(1)到官网http://hadoop.apache.org/releases.html下载2.7.3的source源码包(2)解压缩tar -zxvf hadoop-2.7.3-src.tar.gz -C /opt(3)打开解压目录下的BUILDING.txt,编译过程和需要的软件其实就是根据这个文档里的原创 2017-08-28 14:46:24 · 1090 阅读 · 0 评论 -
Hadoop基础教程-第13章 源码编译(13.1 Zookeeper源码编译)
第13章 源码编译13.1 Zookeeper源码编译13.1.1 安装Ant注意,不要下载最新版,下载指定版本 http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.gz解压缩[root@hadron ~]# cd apache-ant-1.9.4/[root@hadron apache-ant-1.9.4]#原创 2017-08-28 14:42:35 · 764 阅读 · 0 评论 -
Hadoop基础教程-第12章 Hive:进阶(12.5 Hive外表)(草稿)
第12章 Hive:进阶12.5 Hive外表12.5.1 准备数据[root@nb0 data]# vi gen.sh[root@nb0 data]# cat gen.sh#!/bin/shfor i in {1..100000};do echo -e $i'\t'$RANDOM'\t'$RANDOM'\t'$RANDOMdone;[root@nb0 data]# sh g原创 2017-08-28 14:32:14 · 919 阅读 · 0 评论 -
Hadoop基础教程-第12章 Hive:进阶(12.4 Hive Metastore)(草稿)
第12章 Hive:进阶12.4 Hive Metastore12.4.1 三种配置方式Hive Metastore有三种配置方式,分别是:Embedded Metastore Database (Derby) 内嵌模式 Local Metastore Server 本地元存储 Remote Metastore Server 远程元存储12.4.2 Metastore作用metadata即元数据原创 2017-08-27 10:51:27 · 924 阅读 · 0 评论 -
Hadoop基础教程-第12章 Hive:进阶(12.3 HiveServer2)(草稿)
第12章 Hive:进阶12.3 HiveServer212.3.1 HiveServer1HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果。HiveServer是建立在Apache ThriftTM(http://thrift.apache.org/) 之上的,因此有时会被称为Thrift Server,这可能会导致混乱,因为新服务HiveServ原创 2017-08-26 22:37:38 · 930 阅读 · 0 评论 -
Hadoop基础教程-第12章 Hive:进阶(12.2 自定义函数)(草稿)
第12章 Hive:进阶12.2 自定义函数12.2.1 UDP<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/原创 2017-08-25 23:32:09 · 761 阅读 · 0 评论 -
Hadoop基础教程-第12章 Hive:进阶(12.1 内置函数)(草稿)
第12章 Hive:进阶12.1 内置函数为了方便测试Hive的内置函数,需要构造一个类似于Oracle的dual虚表hive> create table dual(value string);OKTime taken: 0.117 secondshive>hive> insert into dual values("test");WARNING: Hive-on-MR is depreca原创 2017-08-20 21:33:32 · 1591 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.8 HQL:排序)(草稿)
第11章 Hive:SQL on Hadoop11.8 HQL:排序11.8.1 order byHive 中的 order by与SQL 中的order by语义相同,会对查询结果进行全局排序,但是Hive 语句最终要转换为 MapReduce 程序放到 Hadoop 分布式集群上去执行,多个Mapper 后汇集到一个 Reducer 上执行,如果结果数据量大,那就会造成 Reduce 执行相当漫原创 2017-08-20 17:39:21 · 876 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.7 HQL:数据查询)(草稿)
第11章 Hive:SQL on Hadoop11.7 HQL:数据查询11.7.1 limit 子句11.7.1 where 子句原创 2017-08-13 21:49:15 · 1117 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.6 HQL:DML数据操纵)(草稿)
第11章 Hive:SQL on Hadoop11.6 HQL:DML数据操纵11.6.1 装载数据原创 2017-08-12 22:40:10 · 951 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.5 HQL:DDL数据定义)(草稿)
第11章 Hive:SQL on Hadoop11.5 HQL:DDL数据定义HQL中数据定义部分,也就是DDL,主要包括数据库定义和数据表的定义。原创 2017-08-12 16:11:32 · 1119 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.4 数据类型和存储格式)(草稿)
第11章 Hive:SQL on Hadoop11.4 Hive 数据类型和存储格式11.4.1 数据类型(1)基本类型 Hive 支持关系型数据中大多数基本数据类型, 类型 描述 示例 BOOLEAN true/false TRUE TINYINT 1字节的有符号整数 -128~127 1Y SMALLINT 2个字节的有符号整数,-32768~3原创 2017-08-07 09:49:01 · 1192 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.3 Hive 快速入门)
第11章 Hive:SQL on Hadoop11.3 Hive数据类型与应用11.3.1 基本数据类型Hive 支持关系型数据中大多数基本数据类型, 类型 描述 示例 BOOLEAN true/false TRUE TINYINT 1字节的有符号整数 -128~127 1Y SMALLINT 2个字节的有符号整数,-32768~32767 1S原创 2017-08-06 21:15:24 · 1906 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.2 Hive安装与配置)(草稿)
第11章 Hive:SQL on Hadoop11.2 Hive安装与配置11.2.1 安装元数据库Hive的元数据和数据是分开存放的,数据存放在HDFS上,而元数据库默认是存储在Hive自带的Derby数据库。由于Derby只支持同时一个用户访问Hive,所以我们将换成MySQL/MariaDB作为Hive元数据库。(1)安装数据库 CentOS 6.x系统可以安装MySQL,CentOS 7.原创 2017-08-06 10:49:04 · 1748 阅读 · 0 评论 -
Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.1 Hive 介绍)(草稿)
第11章 Hive:SQL on Hadoop11.1 Hive 介绍11.1.1 认识HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的原创 2017-08-05 18:08:16 · 1071 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.7 HBase 批量导入)
第10章 HBase:Hadoop数据库10.7 HBase 批量上传10.7.1 ImportTsv(1)介绍ImportTsv是HBase官方提供了基于mapreduce进行批量数据导入的工具,ImportTsv可以将HDFS上的TSV格式(默认制表符分隔\t,或者自定义分隔符的其他格式数据文件也可,逗号‘,’分隔的txt亲测可以)的数据文件通过命令简单方便地导入到HBase中,对于大数据量的导原创 2017-08-05 17:32:04 · 1435 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.6 HBase API)
第10章 HBase:Hadoop数据库10.6 HBase API10.6.1 HBase API介绍前面我们已经学习了通过HBase Shell命令来操作HBase,本质上是通过Java API进行操作的。所以Java API操作HBase是最直接、最原生的方式。10.6.2 Windows+Eclipse+Maven+HBase(1)编辑Windows系统的hosts文件C:\Windows\原创 2017-07-29 21:44:07 · 1236 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.5 HBase Shell)(草稿)
第10章 HBase:Hadoop数据库10.5 HBase Shell10.5.1http://hbase.apache.org/book.html#quickstartProcedure: Use HBase For the First Time Connect to HBase进入HBase Shell[root@node1 ~]# hbase shell2017-03-18 17:45:原创 2017-07-25 23:38:22 · 1779 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.4 NTP时间同步)(草稿)
第10章 HBase:Hadoop数据库10.4 时间同步10.4.1 为什么需要时间同步10.4.1 ntp服务端(1)安装ntp[root@node1 ~]# yum install -y ntp.....Installing: ntp x86_64原创 2017-07-25 22:42:42 · 956 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.3 HBase安装与配置)(草稿)
第10章 HBase:Hadoop数据库10.3 HBase安装与配置10.3.1 HBase下载HBase官方网址:http://hbase.apache.org/ 下载推荐的当前稳定版1.2.610.3.2 HBase安装(1)上传软件包。通过XShell将HBase软件包上传到集群中的一个节点,比如node1 (2)解压缩软件包[root@node1 ~]# tar -zxvf hba原创 2017-07-23 16:46:58 · 1229 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.2 HBase基本概念、框架)(草稿)
第10章 HBase:Hadoop数据库10.2 HBase基本概念、框架本节内容,大多是从网络上汇总而来,并做了一定总结修改。10.2.1 HBase的特点大:一个表可以有上亿行,上百万列。面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。(对于关系数据库,空值位置必须存储NU原创 2017-07-23 16:06:50 · 1630 阅读 · 0 评论 -
Hadoop基础教程-第10章 HBase:Hadoop数据库(10.1 NoSQL介绍)(草稿)
第10章 HBase:Hadoop数据库10.1 NoSQL介绍10.1.1 NoSQL简介随着互联网技术(互联网+,物联网)发展,特别是大数据时代到来,我们需要存储处理更多数据,这种需求远远超出传统关系型数据库的存储和处理能力。 为了应对这种情形,我们需要不停的扩展。扩展分为两类:一种是纵向扩展,即购买更好的机器,更多的磁盘、更多的内存等等;另一种是横向扩展,即购买更多的机器组成集群。在巨大的规原创 2017-07-22 22:43:36 · 1667 阅读 · 0 评论 -
Hadoop基础教程-第9章 HA高可用(9.4 YARN 高可用)(草稿)
第9章 HA高可用9.4 YARN 高可用9.4.1 RM单点故障http://hadoop.apache.org/docs/r2.7.3/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html ResourceManager(RM)负责跟踪群集中的资源,并调度应用程序(例如MapReduce作业)。在Hadoop 2.4之...原创 2017-07-22 22:12:45 · 2336 阅读 · 0 评论 -
Hadoop基础教程-第9章 HA高可用(9.3 HDFS 高可用运行)(草稿)
第9章 HA高可用9.3 HDFS 高可用运行9.3.1 HA节点规划 节点 IP Zookeeper NameNode JournalNode DataNode node1 192.168.80.131 Y Y Y Y node2 192.168.80.132 Y Y Y Y node3 192.168.80.133原创 2017-07-12 22:21:00 · 1737 阅读 · 2 评论 -
Hadoop基础教程-第9章 HA高可用(9.2 HDFS 高可用配置)(草稿)
第9章 HA高可用9.2 HDFS 高可用配置9.2.1 准备工作因为前面我们已经配置启动了普通的Hadoop相关服务,需要先停止相关服务并清除数据。 (1)停止Hadoop服务 首先停止YARN[root@node1 ~]# stop-yarn.shstopping yarn daemonsstopping resourcemanagernode2: s...原创 2017-07-08 21:03:30 · 1316 阅读 · 1 评论 -
Hadoop基础教程-第9章 HA高可用(9.1 HDFS 高可用介绍)(草稿)
第9章 HA高可用9.1 HDFS 高可用介绍HDFS HA(High Availability)高可用配置官方参考网址 http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html9.1.1 背景Prior to Hadoop原创 2017-07-08 17:27:32 · 1095 阅读 · 0 评论 -
Hadoop基础教程-第8章 Zookeeper(8.5 Zookeeper内存数据库)(草稿)
第8章 Zookeeper8.5 Zookeeper内存数据库8.5.2 内存数据库介绍ZooKeeper的数据模型是一棵树,而从使用角度看, Zookeeper就像一个内存数据库一样。在这个内存数据库中,存储了整棵树的内容,包括所有的节点路径、节点数据及其ACL信息等,Zookeeper会定时将这个数据存储到磁盘上。 Zookeeper内存数据库是通过ZKDatabase类实现, 内部属性包括原创 2017-07-08 15:57:48 · 1096 阅读 · 0 评论 -
Hadoop基础教程-第8章 Zookeeper(8.4 Zookeeper集群模式)(草稿)
第8章 Zookeeper单机模式的ZooKeeper便于评估,开发和测试。但在生产中,我们应该以集群模式运行ZooKeeper。8.4 Zookeeper集群模式8.4.1 集群模式介绍一个 ZooKeeper 集群通常由一组机器组成,一般 3 台以上就可以组成一个可用的 ZooKeeper 集群了。 组成 ZooKeeper 集群的每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都会原创 2017-07-06 22:24:59 · 1030 阅读 · 0 评论 -
Hadoop基础教程-第8章 Zookeeper(8.3 Zookeeper单机模式)(草稿)
第8章 Zookeeper8.3 Zookeeper单机模式8.3.1 三种运行模式Zookeeper 有三种运行模式:单机模式、伪集群模式和集群模式。8.3.2 单机模式配置单机模式仅仅用于开发测试环境。一方面我们没有那么多机器资源,另外就是平时的开发调试并不需要极好的稳定性。 zookeeper单机模式配置参照官方文档 http://zookeeper.apache.org/doc/r3.原创 2017-07-06 21:45:43 · 944 阅读 · 0 评论 -
Hadoop基础教程-第8章 Zookeeper(8.2 Zookeeper下载与安装)(草稿)
第8章 Zookeeper8.2 Zookeeper安装与配置8.2.1 Zookeeper下载Zookeeper官网:http://zookeeper.apache.org 在首页“Getting Started”区域找到”download”链接 在新页面中再次单击”download”链接,将跳转到下载页面http://www.apache.org/dyn/closer.cgi/zook原创 2017-06-27 18:06:15 · 977 阅读 · 0 评论 -
Hadoop基础教程-第8章 Zookeeper(8.1 Zookeeper介绍)(草稿)
第8章 Zookeeper8.1 Zookeeper介绍8.1.1 单点故障问题单点故障(single point of failure),从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。解决单点问题基本上有3个方向: (1)使用公共缓存,所有服务节点都将原创 2017-06-27 17:45:30 · 1049 阅读 · 0 评论