代码改变世界

随笔分类 -  hadoop相关

Hadoop2.x的Eclipse插件编译与安装

2015-06-16 16:05 by hduhans, 3213 阅读, 收藏,
摘要: Eclipse的Hadoop插件在开发hadoop应用程序中可以提供一些很方便的操作,可以直接Eclipse中浏览HDFS上的文件,可以直接新建选择MapReduce项目,项目自动包含所有需要的hadoop jar包,不必再手动拷贝。一、安装Ant工具 Ant是一种Java的项目打包管理工具,... 阅读全文

Hadoop平台常用配置及优化建议

2015-06-09 15:42 by hduhans, 4321 阅读, 收藏,
摘要: 当发现作业运行效率不理想时,需要对作业执行进行性能监测,以及对作业本身、集群平台进行优化。优化后的集群可能最大化利用硬件资源,从而提高作业的执行效率。本文记录了在hadoop集群平台搭建以及作业运行过程中一些常用优化手段,在使用中会不断补充,不断翻阅。一、对应用程序进行调优1、避免输入大量小文件... 阅读全文

使用MapReduce实现join操作

2015-06-07 15:28 by hduhans, 3424 阅读, 收藏,
摘要: 在关系型数据库中,要实现join操作是非常方便的,通过sql定义的join原语就可以实现。在hdfs存储的海量数据中,要实现join操作,可以通过HiveQL很方便地实现。不过HiveQL也是转化成MapReduce来完成操作,本文首先研究如何通过编写MapReduce程序来完成join操作。一... 阅读全文

Hadoop等软件常见运行问题及解决办法

2015-06-06 20:41 by hduhans, 298 阅读, 收藏,
摘要: Hadoop常见问题及解决办法1、问题:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries 解决:在程序中添加hadoop.home.dir设置,如:“Syste... 阅读全文

hadoop实战 -- 网站日志KPI指标分析

2015-05-27 17:29 by hduhans, 1415 阅读, 收藏,
摘要: 本项目分析apache服务器产生的日志,分析pv、独立ip数和跳出率等指标。其实这些指标在第三方系统中都可以检测到,在生产环境中通常用来分析用户交易等核心数据,此处只是用于演示说明日志数据的分析流程。一、需求分析 我们可以编写执行的shell脚本,将apache每天产生的日志上传到HDFS中,... 阅读全文

使用MapReduce实现一些经典的案例

2015-05-01 18:10 by hduhans, 2904 阅读, 收藏,
摘要: 在工作中,很多时候都是用hive或pig来自动化执行mr统计,但是我们不能忘记原始的mr。本文记录了一些通过mr来完成的经典的案例,有倒排索引、数据去重等,需要掌握。一、使用mapreduce实现倒排索引 倒排索引(Inverted index),也常被称为反向索引、置入档案或反向档案,是一种... 阅读全文

编译本地64位版本的hadoop-2.6.0

2015-03-19 11:32 by hduhans, 5967 阅读, 收藏,
摘要: 官方提供的hadoop-2.x版本貌似都是32位的,在64位机子下使用可能会报错,最好使用官方提供的源码进行本地编译,编译成适合本地硬件环境的64位软件包。关于native Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Lib... 阅读全文

Hadoop学习(5)-- Hadoop2

2015-01-28 09:14 by hduhans, 1377 阅读, 收藏,
摘要: 在Hadoop1(版本=0.23)诞生了,可以支持分布式NameNode、NameNode HA(NameNode High Available),实现了NameNode的横向扩展,使得集群规模最大可支持上万个节点。一、Hadoop2介绍1、Hadoop1局限性 NameNode存储用户HDF... 阅读全文

Flume -- 开源分布式日志收集系统

2015-01-14 21:37 by hduhans, 4047 阅读, 收藏,
摘要: Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地。这里的日志是一个统称,泛指文件、操作记录等许多数据。一、Flume基础知识1、数据流模型 Flume的核心是把数据从数据源收集过来,再送到目的地。为了保证输送一... 阅读全文

Sqoop -- 用于Hadoop与关系数据库间数据导入导出工作的工具

2015-01-09 10:18 by hduhans, 1869 阅读, 收藏,
摘要: Sqoop是一款开源的工具,主要用于在Hadoop相关存储(HDFS、Hive、HBase)与传统关系数据库(MySql、Oracle等)间进行数据传递工作。Sqoop最早是作为Hadoop的一个第三方模块存在,后来被独立成为了一个Apache项目。除了关系数据库外,对于某些NoSQL数据库,S... 阅读全文

Hive -- 基于Hadoop的数据仓库分析工具

2014-12-20 12:25 by hduhans, 2820 阅读, 收藏,
摘要: Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。在本质上,Hive与Pig一样,都是将相应的查询语句转换为MapReduce程序,简... 阅读全文

HBase -- 基于HDFS的开源分布式NoSQL数据库

2014-11-28 14:42 by hduhans, 1870 阅读, 收藏,
摘要: HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,我们可以利用HBase技术在廉价的PC上搭建起大规模结构化存储集群。同Google的Bigtable基于GFS(Google FileSystem)所提供分布式数据存储服务一样,HBase基于HDFS 阅读全文

ZooKeeper -- 分布式开源协调服务

2014-11-23 17:47 by hduhans, 1136 阅读, 收藏,
摘要: ZooKeeper是一个为分布式应用所设计的开源协调服务,适用于大型的分布式系统,可以提供统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等服务。ZooKeeper支持Java和C两种编程语言的接口,可以很方便地实现一致性、组管理、leader选举和某些协议。 一、ZooKeeper简介 阅读全文

Hadoop学习(4)-- MapReduce

2014-10-31 09:38 by hduhans, 1384 阅读, 收藏,
摘要: MapReduce是一种用于大规模数据集的并行计算编程模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题。其主要思想Map(映射)和Reduce(规约)都是从函数是编程语言中借鉴而来的,它可以使程序员在不懂分布式底层的情况下轻松的将自己的程序运行在分布式系统上,极大地降低了分布式... 阅读全文

Hadoop学习(3)-- 安装1.x版本

2014-10-10 18:08 by hduhans, 639 阅读, 收藏,
摘要: Hadoop有三种安装模式,分别为单机模式、伪分布式模式和完全分布式模式(集群模式)。本文安装版本是hadoop-1.1.2,hadoop-2.x版本安装请参考:http://www.cnblogs.com/hanganglin/articles/4254931.html。一、单机模式 单机模... 阅读全文

Hadoop学习(2)-- HDFS

2014-10-08 09:51 by hduhans, 1030 阅读, 收藏,
摘要: 随着信息技术的高度发展,数据量越来越多,当一个操作系统管辖范围存储不下时,只能将数据分配到更多的磁盘中存储,但是数据分散在多台磁盘上非常不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,因此诞生了分布式文件系统。HDFS(Hadoop Distribute File System)是一种... 阅读全文

Hadoop学习(1)-- 入门介绍

2014-09-12 17:00 by hduhans, 624 阅读, 收藏,
摘要: Hadoop是Apache基金会开发的一个分布式系统基础架构,是时下最流行的分布式系统架构之一。用户可以在不了解分布式底层的情况下,在Hadoop上快速进行分布式应用的开发,并利用集群的计算和存储能力,完成海量数据的处理。 一、Hadoop特点 1、扩容能力(Scalable):能可靠地存储和处理千 阅读全文