您的位置:首页 > 运维架构

技术演绎之 [ hadoop] 起源

2015-06-19 13:10 260 查看
作者:zk
e_mail:zk_mails@163.com
qq:312239613
博客首页:http://blog.csdn.net/zk0521(转载请注明出处)
博客导航目录:http://blog.csdn.net/zk0521/article/details/46472813
注:如有问题请联系作者,作者会及时改正博客

Hadoop起源:

Google 集装箱数据中心

位于Mountain View , Calif总部的数据中心。

总功率为10000千瓦,拥有45个集装箱,每个集装箱有1160台服务器,该数据中心的能效比为1.25(PUE为1表示数据中心没有能源损耗,而根据2006年的统             计,一般公司数据中心的能效比为2.0或更好。)

Google 搜索引擎在运营过程中遇到的难题,解决这些难题的方法,就成了Hadoop本身思想来源。

大量网页怎么存储        存储到内存中。

搜索算法                    搜索网页用到 (倒排索引 )技术 以单词加索引。

Page-Rank计算问题      Google最核心的算法,用于给每个网页值评分,是Google”在垃圾中找黄金“ 这个算法成就了Google。链接指向数,判断页面的价            值,被指向的链接数越高,网页越有价值。
Lucene:

Doug Cutting 开创的开源软件,用java书写,实现与Google类似的全文搜索功能,它提供了全文检索引擎的框架,包括完整的查询引擎和索引引擎。

Lucene的目的是为软件开发人员提供,一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是为此基础建立起完整的全文检索引  擎。

对于大量的场景,Lucence面对与Google同样的困难。迫使Doug Cutting学习和模仿Google解决这些问题的办法。

一个微缩版:Nutch
从lucene到nutch,从nutch到hadoop

Yahoo诏安了Doug Cutting及其项目

Hadoop 于 2005 年秋天作为Lucene的子项目 Nutch的一部分正式引入Apache基金会。2006年3月份,Map-Reduce 和 Nutch Distributed   File System(NDFS)分别被纳 入成为Hadoop的项目中。

名字来源于Doug Cutting儿子的玩具大象。
目前Hadoop达到的高度:

    实现云计算的事实标准开源软件
   包含数十个具有强大生命力的子项目
   已经能在数千节点上运行,处理数据量和排序时间不断打破世界纪录
    Hadoop技术,可以看做是Google 搜索引擎有关技术的山寨版。
Hadoop介绍:

1、Hadoop 面向 大数据 处理的框架。

2、Hadoop 擅长 离线 数据分析  重点 (离线)把数据收集到一个数据分析平台,设置分析时间(可能是一小时,也可能一天),在回写至关系型数据库。

                缺点:一般不能做在线数据分析(不能实时处理、计算、统计结果)。

                解决:解决不能实时分析,可以使用storm流数据框架(淘宝现使用实时分析系统) 。storm(分布式实时计算系统)流数据处理。

3、Hadoop 是一个 分布式文件系统 +计算框架  分布式(多台服务器)。

4、Hadoop 不是数据库,Hbase才是数据库(Hbase 是NoSql 数据库)。

5、Hadoop是一个快速进化的生态系统(Hadoop更新速度很快,几乎是企业大数据分析的唯一解决方案)
hadoop内部介绍:

1、Hadoop   集群进行数据分析,      2大核心: Map-Reduce  HDFS 

2、Map-Reduce  分布式编程机制,作业。 山寨 Google  GFS

3、HDFS    hadoop支持的分布式文件分析系统。

3、pig          轻量级的数据分析工具。有专门的 pig语言。

4、Hbase   运行在hadoop,或不运行,分布式列式数据库。 山寨 Google Bigtable 

5、Hive       sql语言,输入sql语句自动转换成Hive程序。(HiveQL)查询,(运行在hadoop基础上) 可以看做是一个 关系型数据库。
分布式三种运行模式:

单机模式:   (非分布式)安装简单,几乎不用做任何配置,但仅限于调试用途。

伪分布式:   (非真正的分布式)在单个节点上同时启动namenode、datanode、jobtracker、tasktracker、secondary namenode等5个进程,模拟分布式运行的各个节点。

完全分布式模式:正常的Hadoop集群,由多个各司其职的节点构成。

实验环境:

服务器:ESXi,可以在上面部署10多台虚拟机,能同时启动4台。ESXi 虚拟机可以直接装在服务上,无需跑在任何系统平台上。

需要linux环境,也可以使用windows+Cygwin(不建议这种方式)。

SSH:windows下可以使用SecureCRT或putty等ssh client程序,用来远程连接服务器。

Vmware client:用于管理ESXi服务器。

Hadoop:使用0.20.2
分布式机型配置:

分布式的原理就是用普通的机器组成集群,成为一台高性能计算机。

选型理念:普通的,廉价的,标准的(容易替换的),工业化大规模生产的。

1、Hadoop可以自动支持多核CPU,比如选择2个四核cpu,主流主频。

2、16-32G内存,更大的内存可以使Linux将常用数据缓存在内存,减少IO,提高速度。

3、存储集群考虑使用大量廉价硬盘,普通SATA即可,出于成本考虑一般不需要使用SCSI、SAS接口类型硬盘或SSD硬盘。

4、网络非常重要,建议使用企业千兆交换机,无需使用infinband这类专用设备。

5、RAID是不需要的,可以考虑使用JBOD。

Hadoop典型职位:

运维:管理、调优、监控

Hadoop程序员(M-R,源代码):写Map-Reduce程序(低端类),M-R用java来写,大部分M-R程序员,原来是java程序员。Hadoop源代码程序员
架构师:系统的架构方案,了解子项目。(一般由运维或者程序员兼)

数据仓库工程师:根据需求 hive (sql) 查询数据 

               
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: