




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子信息学院实验报告书课程名:云计算技术 题 目: 实验一、Hadoop的安装与使用 实验类别 【设计】 班 级: bx1002 学 号: 31 姓 名: 杨汉标 评语:实验内容: 优秀 良好 合格 一般 不合格 报告格式: 优秀 良好 合格 一般 不合格 实验态度: 优秀 良好 合格 一般 不合格 实验结果: 优秀 良好 合格 一般 不合格 课题纪律: 优秀 良好 合格 一般 不合格 成绩: 指导教师: 杨志和 批阅时间: 年 月 日【实验环境】计算机、Java、Hadoop【实验目的】1理解云计算的基本理论知识;2理解Hadoop的基本概念3掌握如何在Linux上安装Hadoop;【实验要
2、求】1 下载Hadoop和JDK;2 安装SSH;3 对Linux进行相应配置。【基础知识】l Hadoop是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同java程序员可以 不考虑内存泄露一样, MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或者分布式系统的经验,就可以处理超大的分布式系统得资源。l 程序员的开发步骤:1. 定义Mapper,处理
3、输入的 Key-Value 对,2. 定义Reducer,可选,对中间结果进行规约,输出最终结果3. 定义 InputFormat 和 OutputFormat,可选,InputFormat 将每行为 Java 类供Mapper函数使用,不定义时默认为 String。 4. 定义main 函数,在里面定义一个 Job 并运行它l Hadoop的工作过程一个集群中只有一个NameNode,可以有多个DataNodes;namenode 承担数据的位置存储信息,并将存储位置信息告诉client端;得到位置信息后,client端开始写数据;写数据的时候是将数据分块,并存储为多份(一般为3份),放在不
4、同的datanode 节点; client 先将数据写到第一个节点,在第一个节点接收数据的同时,又将它所接收的数据推送到第二个,第二个推送到第三个节点,如果有多个节点,依次类推;从图中可以知道 NameNode 不参与数据块的IO的。n NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。注意,这里需要您了解集群架构。实际的 I/O 事务并没有经
5、过 NameNode,只有表示 DataNode 和块的文件映射的元数据经过 NameNode。当外部客户机发送请求要求创建文件时,NameNode 会以块标识和该块的第一个副本的 DataNode IP 地址作为响应。这个 NameNode 还会通知其他将要接收该块的副本的 DataNode。NameNode 在一个称为 FsImage 的文件中存储所有关于文件系统名称空间的信息。这个文件和一个包含所有事务的记录文件(这里是 EditLog)将存储在 NameNode 的本地文件系统上。FsImage 和 EditLog 文件也需要复制副本,以防文件损坏或 NameNode 系统丢失。n N
6、ameNode 也是一个通常在 HDFS 实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。DataNode 响应来自 HDFS 客户机的读写请求。它们还响应创建、删除和复制来自 NameNode 的块的命令。NameNode 依赖来自每个 DataNode 的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据。
7、如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施,重新复制在该节点上丢失的块。n 文件操作:可见,HDFS 并不是一个万能的文件系统。它的主要目的是支持以流的形式访问写入的大型文件。如果客户机想将文件写到 HDFS 上,首先需要将该文件缓存到本地的临时存储。如果缓存的数据大于所需的 HDFS 块大小,创建文件的请求将发送给 NameNode。NameNode 将以 DataNode 标识和目标块响应客户机。同时也通知将要保存文件块副本的 DataNode。当客户机开始将临时文件发送给第一个 DataNode 时,将立即通过管道方式将块内容转发给副本 DataNode。
8、客户机也负责创建保存在相同 HDFS 名称空间中的校验和(checksum)文件。在最后的文件块发送之后,NameNode 将文件创建提交到它的持久化元数据存储(在 EditLog 和 FsImage 文件)。【实验步骤】l 安装JDK(1)下载安装JDK:确保计算机联网之后命令行输入下面命令安装JDK sudo apt-get install sun-java6-jdk(2)配置计算机Java环境:打开/etc/profile,在文件最后输入下面内容 export JAVA_HOME = (Java安装目录) export CLASSPATH = ".:$JAVA_HOME/lib
9、:$CLASSPATH" export PATH = "$JAVA_HOME/:PATH"(3)验证Java是否安装成功输入 java -version ,输出Java版本信息即为安装成功。l 安装配置SSH(1)下载安装SSH:同样在命令行输入下面命令安装SSH sudo apt-get install ssh(2)配置无密码登录本机:在命令行输入下面两条命令 $ ssh-keygen -t rsa -P '' -f /.ssh/id_rsa 直接回车,完成后会在/.ssh/生成两个文件:id_rsa和id_rsa.pub;这两个成对出现,类似钥
10、匙和锁。 再把id_rsa.pub追加到授权key里面(当前并没有authorized_keys文件) $ cat /.ssh/id_rsa.pub >> /.ssh/authorized_keys验证SSH是否安装成功 输入 ssh localhost 。如果显示本机登录成功就表明安装成功。l 关闭防火墙 $sudo ufw disable 注意:这步非常重要,如果不关闭,会出现找不到datanode的问题l 安装运行Hadoop(以0.20.2版本为例)(1)下载Hadoop:在/dyn/closer.cgi/hadoop/core/页面
11、上下载Hadoop。(2)安装配置Hadoop 单节点配置: 安装单节点的Hadoop无需配置,在这种方式下,Hadoop被认作为一个单独的Java进程。 伪分布配置: 伪分布的Hadoop是只有一个节点的集群。在这个集群中,计算机既是master也是slave, 即使 namenode也是datanode,既是jobtracker也是tasktracker。配置的过程如下:1、进入conf文件夹修改下面的文件。Hadoop-env.sh中加入下面内容:export JAVA_HOME = (JAVA安装目录)core-site.xml文件内容修改为下面内容:<configuration
12、> <!- global properties -> <property> <name>hadoop.tmp.dir</name> <value>/home/zhongping/tmp</value> </property> <!- file system properties -> <property> <name></name> <value>hdfs:/localhost:9000</value>
13、</property></configuration>hdfs-site.xml文件内容修改为下面内容:(replication默认为3,如果不修改,datanode少于三台就会报错)<configuration> <property> <name>fs.replication</name> <value>1</value> </property></configuration>mapred-site.xml文件内容修改为下面内容:<configuration>
14、<property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property></configuration>2、格式化Hadoop文件系统,在命令行输入命令:bin/hadoop namenode -format3、启动Hadoop,在命令行输入命令:bin/start-all.sh4、验证Hadoop是否安装成功,在浏览器中输入下面网址,如果正常打开说明安装成功。http:/localhost:50030 (mapre
15、duce的web页面)http:/localhost:50070 (hdfs的web页面)l 运行实例 (1)先在本地磁盘建立两个输入文件 file01和file02 $echo "Hello World Bye World" > file01 $echo "Hello Hadoop Goodbye Hadoop" > file02 (2)在hdfs中建立一个input目录:$hadoop fs -mkdir input (3)将file01和file02拷贝到hdfs中: $hadoop fs -copyFromLocal /home/zhongping/file0* input (4)执行wordcount: $hadoop jar hadoop-0.20.2-examples.jar wordcount input output (5)完成之后,查看结果 $hadoop fs -cat output/part-r-000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州紫云自治县青年就业见习21人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025江苏无锡市锡山区人民陪审员选任60人考前自测高频考点模拟试题及答案详解参考
- 2025贵州罗甸县第二医共体总院边阳分院招聘卫生专业技术人员考前自测高频考点模拟试题附答案详解(典型题)
- 2025广西百色干部学院招聘教研人员3人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年甘肃省平凉市第二批市直单位公益性岗位工作人员招聘37人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025湖北武汉市汉口学院人力资源部职员招聘1人模拟试卷及答案详解(考点梳理)
- 2025海南省交通工程建设局第一批考核招聘劳动合同制人员8人考前自测高频考点模拟试题及完整答案详解1套
- 2025河南驻马店市新蔡县公益性岗位招聘7人考前自测高频考点模拟试题及答案详解(易错题)
- 2025江苏苏州国家历史文化名城保护区、苏州市姑苏区区属国资集团副总裁招聘2人考前自测高频考点模拟试题及1套完整答案详解
- 2025昆明市公安局公开招聘文职辅警(16人)考前自测高频考点模拟试题参考答案详解
- 码头管理办法公告
- 趾骨骨折护理查房
- 2025年广东省动物疫病检测技能竞赛题库
- 如何写幼儿观察记录培训
- 小学数学“教-学-评”一体化实施策略
- 2024北京四中初三10月月考数学试题及答案
- 肺结核合并心力衰竭的护理
- 肘关节超声病变诊断与评估
- 专题训练:28.4 垂径定理(培优篇)
- 2025年辽宁省公务员遴选考试公共基础知识试题
- 2025至2030中国室内农业行业产业运行态势及投资规划深度研究报告
评论
0/150
提交评论