预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验报告书 课程名:云计算技术 题目:实验四MapReduce和HDFS的实验 实验类别【验证】 班级: 学号: 姓名: 评语: 实验态度:认真()一般()较差() 实验结果:正确()部分正确()错() 实验理论:掌握()熟悉()了解()生疏() 操作技能:较强()一般()较差() 实验报告:较好()一般()较差() 成绩:指导教师: 批阅时间:年月日 《软件开发基础实验(1)-JAVA》实验报告-1 1.实验内容 客户机与HDFS交互 提交作业 2.实验目的 Hadoop日常操作 3.实验步骤 Hadoop有两个重要的模块:MapReduce和HDFS,HDFS是一个分布式文件系统,用于存 储数据,MapReduce是一个编程框架,Hadoop中运行的程序均是MapReduce作业,一个作业 分为若干个Map任务和Reduce任务。 3.1、客户机与HDFS进行交互 3.1.1客户机配置 可以查看HDFS中的数据,向HDFS中写入数据。 选择一台机器,该机器可以是Hadoop集群中的节点,也可以是集群之外的机器。下面说明在 namenode(即192.168.8.56)上操作与HDFS交互。 3.1.2列出HDFS根目录/下的文件 [root@hadoop1~]#hadoopdfs-ls/ Found3items drwxr-xr-x-hadoopsupergroup02010-05-2100:42/tmp 《软件开发基础实验(1)-JAVA》实验报告-2 drwxr-xr-x-hadoopsupergroup02010-05-2100:53/user drwxr-xr-x-hadoopsupergroup02010-05-2100:55/usr 第一列是目录权限,第二列的hadoop是目录拥有者,第三列是组名,第4列是目录大小 (单位是B),第5列是目录的绝对路径。这里表示/目录下有三个目录。这里的用户hadoop是安装 hadoop的用户,是超级用户,相当于Linux操作系统的root用户,组supergroup相当于root 用户组。 3.1.3列出当前用户主目录下的文件 Hadoop默认当前HDFS中的用户就是当前登录客户机的用户。 [root@hadoop1~]#hadoopdfs–ls ls:Cannotaccess.:Nosuchfileordirectory. 提示不能访问时因为hdfs中没有/user/root目录。 注意:这里的当前用户主目录是客户机中当前登录用户的主目录,即HDFS中的“/user/用户 名”目录,由于当前是root用户登录,命令“bin/hadoopdfs–ls”访问的是HDFS中的“/user/root 目录”。此时若/user/root目录不存在,则会出现上面的提示。 由于HDFS中不存在root用户,所以客户机当前登录用户无法向HDFS中写入数据,因为对 HDFS中的所有目录没有写权限,只有r读权限。要使当前用户能够向HDFS中写入数据,必须在 HDFS中创建root用户并且创建相应目录,赋予相关权限。 总之,HDFS的用户权限和Linux一样重要。 3.1.4HDFS用户管理 创建HDFS用户需要使用hadoop用户登录客户机器,并且执行hadoop相关命令。由于 《软件开发基础实验(1)-JAVA》实验报告-3 Hadoop默认当前HDFS中的用户就是当前登录客户机的用户,所以当前HDFS用户即为Hadoop 超级用户hadoop。 Hadoop似乎没有提供创建用户的命令,但要在HDFS中创建用户和用户组可以这样做。 (i)Hadoop超级用户hadoop在hdfs中创建目录/user/root, 即hadoopdfs-mkdir/user/root (ii)更改/user/root目录所属用户和组, 即hadoopdfs-chown-Rroot:root/user/root,命令执行完毕Hadoop将默认创建有用户 root,用户组root。 注意:若此处没有指定组,则默认将root用户分配到supergroup组,bin/hadoopdfs -chown-Rroot/user/root (ii)这样就相当于在hdfs中创建了用户root,组root。并且当前客户机的root用户对hdfs 中的/user/root目录进行rwx。 3.1.5复制本地数据到HDFS中 [root@hadoop1~]#bin/hadoopdfs–copyFromLocal/local/x/user/root/ 执行以上命令即能将本地数据