厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn厦门大学计算机科学系2016年版林子雨厦门大学计算机科学系E-mail:ziyulin@xmu.
edu.
cn主页:http://www.
cs.
xmu.
edu.
cn/linziyu第二章大数据处理架构Hadoop(PPT版本号:2016年2月24日版本)《大数据技术原理与应用》http://dblab.
xmu.
edu.
cn/post/bigdata温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn提纲2.
1概述2.
2Hadoop项目结构2.
3Hadoop的安装与使用2.
4Hadoop集群的部署与使用欢迎访问《大数据技术原理与应用》教材官方网站:http://dblab.
xmu.
edu.
cn/post/bigdata欢迎访问"大数据课程学生服务站",为学生学习大数据课程提供全方位一站式服务:http://dblab.
xmu.
edu.
cn/post/4331/本PPT是如下教材的配套讲义:21世纪高等教育计算机规划教材《大数据技术原理与应用——概念、存储、处理、分析与应用》(2015年6月第1版)厦门大学林子雨编著,人民邮电出版社ISBN:978-7-115-39287-9《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1概述2.
1.
1Hadoop简介2.
1.
2Hadoop发展简史2.
1.
3Hadoop的特性2.
1.
4Hadoop的应用现状《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
1Hadoop简介Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中Hadoop的核心是分布式文件系统HDFS(HadoopDistributedFileSystem)和MapReduceHadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,都支持Hadoop《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
2Hadoop发展简史Hadoop最初是由ApacheLucene项目的创始人DougCutting开发的文本搜索库.
Hadoop源自始于2002年的ApacheNutch项目——一个开源的网络搜索引擎并且也是Lucene项目的一部分在2004年,Nutch项目也模仿GFS开发了自己的分布式文件系统NDFS(NutchDistributedFileSystem),也就是HDFS的前身2004年,谷歌公司又发表了另一篇具有深远影响的论文,阐述了MapReduce分布式编程思想2005年,Nutch开源实现了谷歌的MapReduceHadoop的标志《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
2Hadoop发展简史到了2006年2月,Nutch中的NDFS和MapReduce开始独立出来,成为Lucene项目的一个子项目,称为Hadoop,同时,DougCutting加盟雅虎2008年1月,Hadoop正式成为Apache顶级项目,Hadoop也逐渐开始被雅虎之外的其他公司使用2008年4月,Hadoop打破世界纪录,成为最快排序1TB数据的系统,它采用一个由910个节点构成的集群进行运算,排序时间只用了209秒在2009年5月,Hadoop更是把1TB数据排序时间缩短到62秒.
Hadoop从此名声大震,迅速发展成为大数据时代最具影响力的开源分布式开发平台,并成为事实上的大数据处理标准《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
3Hadoop的特性Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性:高可靠性高效性高可扩展性高容错性成本低运行在Linux平台上支持多种编程语言《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
3Hadoop的应用现状Hadoop凭借其突出的优势,已经在各个领域得到了广泛的应用,而互联网领域是其应用的主阵地2007年,雅虎在Sunnyvale总部建立了M45——一个包含了4000个处理器和1.
5PB容量的Hadoop集群系统Facebook作为全球知名的社交网站,Hadoop是非常理想的选择,Facebook主要将Hadoop平台用于日志处理、推荐系统和数据仓库等方面国内采用Hadoop的公司主要有百度、淘宝、网易、华为、中国移动等,其中,淘宝的Hadoop集群比较大《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
3Hadoop的应用现状Hadoop在企业中的应用架构《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
4ApacheHadoop版本演变ApacheHadoop版本分为两代,我们将第一代Hadoop称为Hadoop1.
0,第二代Hadoop称为Hadoop2.
0第一代Hadoop包含三个大版本,分别是0.
20.
x,0.
21.
x和0.
22.
x,其中,0.
20.
x最后演化成1.
0.
x,变成了稳定版,而0.
21.
x和0.
22.
x则增加了NameNodeHA等新的重大特性第二代Hadoop包含两个版本,分别是0.
23.
x和2.
x,它们完全不同于Hadoop1.
0,是一套全新的架构,均包含HDFSFederation和YARN两个系统,相比于0.
23.
x,2.
x增加了NameNodeHA和Wire-compatibility两个重大特性《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
4ApacheHadoop版本演变《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cnApacheHadoopHortonworksCloudera(CDH:ClouderaDistributionHadoop)MapR……2.
1.
5Hadoop各种版本选择Hadoop版本的考虑因素:是否开源(即是否免费)是否有稳定版是否经实践检验是否有强大的社区支持《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
1.
5Hadoop各种版本《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
2Hadoop项目结构Hadoop的项目结构不断丰富发展,已经形成一个丰富的Hadoop生态系统《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
2Hadoop项目结构组件功能HDFS分布式文件系统MapReduce分布式并行编程模型YARN资源管理和调度器Tez运行在YARN之上的下一代Hadoop查询处理框架HiveHadoop上的数据仓库HBaseHadoop上的非关系型的分布式数据库Pig一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言PigLatinSqoop用于在Hadoop与传统数据库之间进行数据传递OozieHadoop上的工作流管理系统Zookeeper提供分布式协调一致性服务Storm流计算框架Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统AmbariHadoop快速部署工具,支持ApacheHadoop集群的供应、管理和监控Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据Spark类似于HadoopMapReduce的通用并行框架《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3Hadoop的安装与使用详细安装教程请参考厦门大学数据实验室出品的《大数据技术原理与应用第二章大数据处理架构Hadoop学习指南》访问地址:http://dblab.
xmu.
edu.
cn/blog/285/2.
3.
1Hadoop安装之前的预备知识2.
3.
2安装Linux虚拟机2.
3.
3安装双操作系统2.
3.
4详解Hadoop的安装与使用http://dblab.
xmu.
edu.
cn/post/bigdata-teaching-platform/《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
1Hadoop安装之前的预备知识(一)Linux的选择(1)选择哪个Linux发行版在Linux系统各个发行版中,CentOS系统和Ubuntu系统在服务端和桌面端使用占比最高,网络上资料最是齐全,所以建议使用CentOS或Ubuntu在学习Hadoop方面,虽然两个系统没有多大区别,但是推荐使用Ubuntu操作系统(2)选择32位还是64位如果电脑比较老或者内存小于2G,那么建议选择32位系统版本的Linux如果内存大于4G,那么建议选择64位系统版本的Linux《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
1Hadoop安装之前的预备知识(二)系统安装方式:选择虚拟机安装还是双系统安装建议电脑比较新或者配置内存4G以上的电脑可以选择虚拟机安装电脑较旧或配置内存小于等于4G的电脑强烈建议选择双系统安装,否则,在配置较低的计算机上运行LInux虚拟机,系统运行速度会非常慢鉴于目前教师和学生的计算机硬件配置一般不高,建议在实践教学中采用双系统安装,确保系统运行速度《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
1Hadoop安装之前的预备知识(三)关于Linux的一些基础知识Shell是指"提供使用者使用界面"的软件(命令解析器),类似于DOS下的command和后来的cmd.
exe.
它接收用户命令,然后调用相应的应用程序sudo命令sudo是ubuntu中一种权限管理机制,管理员可以授权给一些普通用户去执行一些需要root权限执行的操作.
当使用sudo命令时,就需要输入您当前用户的密码输入密码在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码,读者不要误以为键盘没有响应输入法中英文切换linux中英文的切换方式是使用键盘"shift"键来切换,也可以点击顶部菜单的输入法按钮进行切换.
Ubuntu自带的Sunpinyin中文输入法已经足够读者使用Ubuntu终端复制粘贴快捷键在Ubuntu终端窗口中,复制粘贴的快捷键需要加上shift,即粘贴是ctrl+shift+v《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
1Hadoop安装之前的预备知识(四)Hadoop安装方式单机模式:Hadoop默认模式为非分布式模式(本地模式),无需进行其他配置即可运行.
非分布式即单Java进程,方便进行调试伪分布式模式:Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件分布式模式:使用多个节点构成集群环境来运行Hadoop《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
2安装Linux虚拟机一、材料和工具1、下载VirtualBox虚拟机软件2.
下载UbuntuLTS14.
04ISO映像文件二、步骤(一)确认系统版本如果选择的系统是64位Ubuntu系统,那么在安装虚拟机前,我们还要进入BIOS开启CPU的虚拟化《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
2安装Linux虚拟机(二)安装前的准备1.
打开VirtualBox,点击"创建"按钮,创建一个虚拟机2.
给虚拟机命名,选择操作系统,版本3.
选择内存大小,这里设置的1024M4.
创建虚拟硬盘5.
选择虚拟硬盘文件类型VDI6.
虚拟硬盘选择动态分配7.
选择文件存储的位置和容量大小8.
点击创建《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
2安装Linux虚拟机(三)安装Ubuntu《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
3安装双操作系统第一步:制作安装U盘具体可参考百度经验文章http://jingyan.
baidu.
com/article/59703552e0a6e18fc007409f.
html第二步:双系统安装具体可参考百度经验文章http://jingyan.
baidu.
com/article/dca1fa6fa3b905f1a44052bd.
html安装后Window和Ubuntu14.
04都可以用,默认windows优先启动可以在电脑启动时,选择进入Ubuntu系统而不是Windows系统《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
3.
4Hadoop的安装与使用(单机/伪分布式)Hadoop基本安装配置主要包括以下几个步骤:创建Hadoop用户SSH登录权限设置安装Java环境单机安装配置伪分布式安装配置详细安装配置过程请参考厦门大学数据库实验室出品教程《Hadoop安装教程_单机/伪分布式配置_Hadoop2.
6.
0/Ubuntu14.
04》http://dblab.
xmu.
edu.
cn/blog/install-hadoop/在"大数据课程学生服务站"中的第二章《学习指南》有该教程链接地址《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn创建Hadoop用户如果安装Ubuntu的时候不是用的"hadoop"用户,那么需要增加一个名为hadoop的用户首先按ctrl+alt+t打开终端窗口,输入如下命令创建新用户:$sudouseradd–mhadoop–s/bin/bash上面这条命令创建了可以登陆的hadoop用户,并使用/bin/bash作为shell接着使用如下命令设置密码,可简单设置为hadoop,按提示输入两次密码:$sudopasswdhadoop可为hadoop用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:$sudoadduserhadoopsudo《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cnSSH登录权限设置配置SSH的原因:Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现.
Hadoop并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录每台机器,需要将所有机器配置为名称节点可以无密码登录它们SSH是什么SSH为SecureShell的缩写,是建立在应用层和传输层基础上的安全协议.
SSH是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议.
利用SSH协议可以有效防止远程管理过程中的信息泄露问题.
SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台.
SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn安装Java环境Java环境可选择Oracle的JDK,或是OpenJDK可以在Ubuntu中直接通过命令安装OpenJDK7$sudoapt-getinstallopenjdk-7-jreopenjdk-7-jdk还需要配置一下JAVA_HOME环境变量具体请参考网络教程:http://dblab.
xmu.
edu.
cn/blog/install-hadoop/《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn单机安装配置Hadoop2可以到官网下载,需要下载hadoop-2.
x.
y.
tar.
gz这个格式的文件,这是编译好的,另一个包含src的则是Hadoop源代码,需要进行编译才可使用Hadoop2安装文件的下载如果读者是使用虚拟机方式安装Ubuntu系统的用户,请用虚拟机中的Ubuntu自带firefox浏览器访问本指南,再点击下载地址,才能把hadoop文件下载虚拟机ubuntu中.
请不要使用Windows系统下的浏览器下载,文件会被下载到Windows系统中,虚拟机中的Ubuntu无法访问外部Windows系统的文件,造成不必要的麻烦.
如果读者是使用双系统方式安装Ubuntu系统的用户,请进去Ubuntu系统,在Ubuntu系统打开firefox浏览器,再点击下载《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn单机安装配置选择将Hadoop安装至/usr/local/中$sudotar-zxf~/下载/hadoop-2.
6.
0.
tar.
gz-C/usr/local#解压到/usr/local中$cd/usr/local/$sudomv.
/hadoop-2.
6.
0/.
/hadoop#将文件夹名改为hadoop$sudochown-Rhadoop:hadoop.
/hadoop#修改文件权限Hadoop解压后即可使用.
输入如下命令来检查Hadoop是否可用,成功则会显示Hadoop版本信息:$cd/usr/local/hadoop$.
/bin/hadoopversionHadoop默认模式为非分布式模式(本地模式),无需进行其他配置即可运行.
《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn伪分布式安装配置Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中,伪分布式需要修改2个配置文件core-site.
xml和hdfs-site.
xmlHadoop的配置文件是xml格式,每个配置以声明property的name和value的方式来实现《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn伪分布式安装配置实验步骤:修改配置文件:core-site.
xml,hdfs-site.
xml,mapred-site.
xml初始化文件系统hadoopnamenode-format启动所有进程start-all.
sh访问web界面,查看Hadoop信息运行实例《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn伪分布式安装配置修改配置文件core-site.
xmlhadoop.
tmp.
dirfile:/usr/local/hadoop/tmpAbaseforothertemporarydirectories.
fs.
defaultFShdfs://localhost:9000name为fs.
defaultFS的值,表示hdfs路径的逻辑名称hadoop.
tmp.
dir表示存放临时数据的目录,即包括NameNode的数据,也包括DataNode的数据.
该路径任意指定,只要实际存在该文件夹即可《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn伪分布式安装配置修改配置文件hdfs-site.
xmldfs.
replication1dfs.
namenode.
name.
dirfile:/usr/local/hadoop/tmp/dfs/namedfs.
datanode.
data.
dirfile:/usr/local/hadoop/tmp/dfs/datadfs.
replication表示副本的数量,伪分布式要设置为1dfs.
namenode.
name.
dir表示本地磁盘目录,是存储fsimage文件的地方dfs.
datanode.
data.
dir表示本地磁盘目录,HDFS数据存放block的地方《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn伪分布式安装配置关于三种Shell命令方式的区别:1.
hadoopfs2.
hadoopdfs3.
hdfsdfshadoopfs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统hadoopdfs只能适用于HDFS文件系统hdfsdfs跟hadoopdfs的命令作用一样,也只能适用于HDFS文件系统《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
4.
1集群节点类型2.
4.
2集群规模2.
4.
3集群硬件配置2.
4.
4集群网络拓扑2.
4.
5集群的建立与安装2.
4.
6集群基准测试2.
4.
7在云计算环境中使用Hadoop2.
4Hadoop集群的部署与使用《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.
edu.
cn2.
4.
1Hadoop集群中有哪些节点类型Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计算的MapReduceMapReduce的作业主要包括:(1)从磁盘或从网络读取数据,即IO密集工作;(2)计算数据,即CPU密集工作Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡.
wordpress投资主题模版是一套适合白银、黄金、贵金属投资网站主题模板,绿色大气金融投资类网站主题,专业高级自适应多设备企业CMS建站主题 完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,简洁大气的网站风格设计 + 更利于SEO搜索优化和站点收录排名!点击进入:wordpress投资主题模版安装环境:运行环境:PHP 7.0+, MYSQL 5.6 ( 最低主机需求 )最新兼容:完美...
俄罗斯vps云服务器商家推荐!俄罗斯VPS,也叫毛子主机(毛子vps),因为俄罗斯离中国大陆比较近,所以俄罗斯VPS的延迟会比较低,国内用户也不少,例如新西伯利亚机房和莫斯科机房都是比较热门的俄罗斯机房。这里为大家整理推荐一些好用的俄罗斯VPS云服务器,这里主要推荐这三家:justhost、ruvds、justg等俄罗斯vps主机,方便大家对比购买适合自己的俄罗斯VPS。一、俄罗斯VPS介绍俄罗斯...
Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...