ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:525.71KB ,
资源ID:3397629      下载积分:2 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/3397629.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2-HDFS作业及参考答案.docx)为本站会员(a****2)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

2-HDFS作业及参考答案.docx

1、题目一:编写一个Shell脚本,实现以下功能1:在HDFS在/目录下创建一个用户目录:itcast2:在HDFS用户目录itcast下创建日志目录: log3:在HDFS的log目录下创建三个主机目录: node1 node2 nod3创建完之后,效果如下:4:每隔一个小时(提醒: sleep 3600),分别对每台主机的/export/server/hadoop-2.7.5/logs目录下的.log文件进行压缩,压缩文件存放到每台主机的/export/data目录,压缩文件格式:log_2021_01_07_175636.tar.gz5:每隔1个小时(提醒: sleep 3600),分别将每

2、台主机的/export/data下的压缩后的日志文件上传对/itcast/log下的对应主机目录下,日志上传到HDFS之后,原来本地的日志压缩包要删除 效果如下:#!/bin/bash# 主机地址存放目录HOSTS=$HADOOP_HOME/etc/hadoop/slaves# HADOOP_BINHADOOP_BIN=$HADOOP_HOME/bin# 分别创建hdfs各主机文件对应备份目录for host in $(cat $HOSTS)do echo 创建集群/itcast/log/$host目录 hadoop fs -mkdir -p /itcast/log/$host echo 目录

3、创建完毕!done# 日志目录LOGDIR=/export/server/hadoop-2.7.5/logs#备份路径BACKUP=/export/data# 开启备份while truedo for host in $(cat $HOSTS) do echo 备份时间:北京时间$(date +%Y-%m-%d_%H:%M:%S) echo -开始备份$host日志数据- # 备份时间 BACKUPTIME=$(date +%Y_%m_%d_%H%M%S) # 备份文件名 BACKUPNAME=log_$BACKUPTIME.tar.gz echo 进入$LOGDIR目录 # 进入日志目录,备

4、份日志到目标文件夹 echo 将log相关文件备份至$BACKUP/$BACKUPNAME ssh root$host cd $LOGDIR;mkdir $BACKUPTIME;cp *.log $BACKUPTIME;tar -czvf $BACKUP/$BACKUPNAME ./$BACKUPTIME;rm -rf $BACKUPTIME; # 移动hadoop日志文件到hdfs集群 echo 移动文件至集群/itcast/log/$host ssh root$host $HADOOP_BIN/hadoop fs -moveFromLocal $BACKUP/$BACKUPNAME /it

5、cast/log/$host echo -$host日志备份结束- done sleep 3600done题目二:使用自己的话(面试)描述HDFS上传文件流程题目三:使用自己的话(面试)描述HDFS下载文件流程选做题(可以不做):题目四:使用HDFS的Java API 封装一个方法uploadDirToHDFS(String localDirPath, String hdfsPath),要求传入一个文件夹路径和HDFS路径,将该文件夹的下所有子文件夹和文件上传到指定的HDFS路径下。import org.apache.hadoop.conf.Configuration;import org.a

6、pache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import java.io.File;import java.io.IOException;import .URI;import .URISyntaxException;public class LocalToHDFS public static void main(String args) throws IOException, URISyntaxException uploadDirToHDF

7、S(D:inputsort_input,/test); public static void uploadDirToHDFS(String localDirPath, String hdfsPath) throws IOException, URISyntaxException /获取hdfs文件系统对象 FileSystem fileSystem = FileSystem.get(new URI(hdfs:/node1:8020), new Configuration(); File dir = new File(localDirPath); listFiles(dir,fileSystem

8、,hdfsPath); /关闭 fileSystem.close(); private static void listFiles(File dir,FileSystem fileSystem,String hdfsPath) throws IOException /获取本地文件夹下面的文件和文件夹 File files = dir.listFiles(); if(files != null) /遍历文件对象 for (File file : files) /判断是否是文件 if(file.isFile() /拼接本地文件上传HDFS的路径 String parent = file.getPa

9、rent(); String fileDir = parent.substring(3); String fileDirPath = fileDir.replaceAll(, /); boolean flag = fileSystem.exists(new Path(hdfsPath+/+fileDirPath); if(!flag) /上传路径不存在则创建 fileSystem.mkdirs(new Path(hdfsPath+/+fileDirPath); /上传文件到HDFS指定路径 fileSystem.copyFromLocalFile(new Path(file.getPath(),new Path(hdfsPath+/+fileDirPath); else /文件目录递归 listFiles(file,fileSystem,hdfsPath);

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2