您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 第一阶段【大数据基础Hadoop-2.x】
WhatIsApacheHadoopWhatIsApacheHadoop??Hadoop项目主要包括以下四个模块HadoopCommon:为其他Hadoop模块提供基础设施。HadoopHDFS:一个高可靠、高吞吐量的分布式文件系统HadoopMapReduce:一个分布式的离线并行计算框架HadoopYARN:一个新的MapReduce框架,任务调度与资源管理ApacheHadoopApacheHadoop起源起源ApacheLucene开源的高性能全文检索工具包ApacheNutch开源的Web搜索引擎Google三大论文MapReduce/GFS/BigTableApacheHadoop大规模数据处理HDFSHDFS系统架构图系统架构图HDFSHDFS服务服务功能功能NameNode是主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在DataNode等。DataNode在本地文件系统存储文件块数据,以及块数据的校验和。SecondaryNameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。YARNYARN架构图架构图YARNYARN服务服务功能功能ResourceManager处理客户端请求启动/监控ApplicationMaster监控NodeManager资源分配与调度NodeManager单个节点上的资源管理处理来自ResourceManager的命令处理来自ApplicationMaster的命令ApplicationMaster数据切分为应用程序申请资源,并分配给内部任务任务监控与容错Container对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息离线计算框架离线计算框架MapReduceMapReduceMapReduceonYARNMapReduceonYARNPreparetoStarttheHadoopClusterPreparetoStarttheHadoopClusterStandaloneOperationStandaloneOperation$mkdirinput$cpetc/hadoop/*.xmlinput$bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jargrepinputoutput'dfs[a-z.]+'$catoutput/*Pseudo-DistributedOperationPseudo-DistributedOperation下载解压$tar-zxvfhadoop-2.5.0.tar.gz修改配置文件($HADOOP_HOME/etc/hadoop/目录下)hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml替换本地库$rm-rf./$HADOOP_HOME/lib/native/$cp-r$HADOOP_SRC_HOME/hadoop-dist/target/hadoop-2.5.0/lib/native/*$HADOOP_HOME/lib/native/Pseudo-DistributedOperationPseudo-DistributedOperationPseudo-DistributedOperationPseudo-DistributedOperationPseudo-DistributedOperationPseudo-DistributedOperation启动启动HDFSHDFS格式化NameNode$bin/hdfsnamenode-format启动NameNode$sbin/hadoop-daemon.shstartnamenode启动DataNode$sbin/hadoop-daemon.shstartdatanodeHDFS监控WEB页面启动SecondaryNameNode$sbin/hadoop-daemon.shstartsecondarynamenodeSecondaryNameNode监控WEB页面日志文件日志文件启动日志文件目录$HADOOP_HOME/logs分析日志文件的格式【log】和【out】.log:通过log4j记录的,记录大部分应用程序的日志信息.out:记录标准输出和标准错误日志,少量记录日志文件的命名规则【框架名称-用户名-进程名-主机名-日志格式后缀】启动启动YARNYARN启动ResourceManager$sbin/yarn-daemon.shstartresourcemanager启动NodeManager$sbin/yarn-daemon.shstartnodemanager查看启动守护进程$jps查看日志yarn-beifeng-resourcemanager-hadoop-senior.ibeifeng.com.logyarn-beifeng-nodemanager-hadoop-senior.ibeifeng.com.log登陆监控WEB页面://hadoop-senior.ibeifeng.com:8042/运行运行MapReduceMapReduce程序程序PI程序$bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jarpi1020WEBUI监控Node状况MapReduceApplication状况Container分配运行WordCount应用历史服务器历史服务器查看已经运行完成的MapReduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,历史服务器是没有启动的。启动$sbin/mr-jobhistory-daemon.shstarthistoryserverWEBUI停止$sbin/mr-jobhistory-daemon.shstophistoryserverHadoop2.xHadoop2.x配置文件配置文件默认的位置:$HADOOP_HOM/share/hadoop中对应project文件夹中的Jar文件中文件名:core-default.xml、hdfs-default.xml、yarn-default.xml、mapred-default.xml自定义的位置:$HADOOP_HOME/etc/hadoop文件名:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml启动启动HDFSHDFS和和YARNYARN方式方式启动方式方式一,逐一启动hadoop-daemon.sh、yarn-daemon.sh方式二,分开启动start-dfs.sh、start-yarn.sh方式三,一起启动start-all.sh配置配置SSHSSH无密钥登陆无密钥登陆使用密码登录,每次都必须输入密码,非常麻烦。SSH还提供了公钥登录,可以省去输入密码的步骤。所谓公钥登录,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。生成公钥/私钥对$ssh-keygen-trsa在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。拷贝公钥至authorized_keys文件$ssh-copy-idhadoop-senior.ibeifeng.com配置配置SSHSSH无密钥登陆无密钥登陆Client一对加密一个是公钥一个是私钥Server一个是公钥第一步发送登陆请求第二步发送一个随机的字符串第三步使用私钥进行加密,并发送使用公钥进行解密RequirementsRequirements编译安装编译安装HDFSHDFS来源来源源自于Google的GFS论文发表于2003年10月HDFS是GFS克隆版HadoopDistributedFileSystem易于扩展的分布式文件系统运行在大量普通廉价机器上,提供容错机制为大量用户提供性能不错的文件存取服务HDFSArchitectureHDFSArchitectureNameNodeNameNodeNamenode是一个中心服务器,单一节点(简化系统的设计和实现),负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。文件操作,NameNode负责文件元数据的操作,DataNode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过NameNode,只会询问它跟那个DataNode联系,否则NameNode会成为系统的瓶颈。副本存放在哪些DataNode上由NameNode来控制,根据全局情况做出块放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低带块消耗和读取时延Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告(Blockreport)。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该Datanode上所有数据块的列表。DataNodeDataNode一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。集群运行中可以安全加入和退出一些机器文件文件文件切分成块(默认大小128M),以块为单位,每个块有多个副本存储在不同的机器上,副本数可在文件生成时指定(默认3)NameNode是主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表以及块所在的DataNode等等DataNode在本地文件系统存储文件块数据,以及块数据的校验和。可以创建、删除、移动或重命名文件,当文件创建、写入和关闭之后不能修改文件内容。HDFSArchitectureHDFSArchitecture数据损坏数据损坏((corruptioncorruption))处理处理当DataNode读取block的时候,它会计算checksum如果计算后的checksum,与block创建时值不一样,说明该block已经损坏。Client读取其它DN上的block。NameNode标记该块已经损坏,然后复制block达到预期设置的文件备份数DataNode在其文件创建后三周验证其checksum。NameNodeNameNode启动过程启动过程NameNode元数据/命名空间持久
本文标题:第一阶段【大数据基础Hadoop-2.x】
链接地址:https://www.777doc.com/doc-6424173 .html