【分布式文件系统HDFS】文件操作基本命令的使用

news2024/11/21 2:26:31

目录

一、按照下述要求写出相应的文件操作命令,执行并观察结果

1. 新建目录

 1.1 在本地文件系统按要求创建如下的文件夹

1.2 在HDFS文件系统按要求创建如下的文件夹

2. 编辑文件test1.txt,放入本地文件夹 /opt/user/myfile

3. 使用moveFromLocal命令将本地文件test1.txt复制到HDFS文件系统的/temp/myfile/txt文件夹下。

4. 查看文件内容,查看HDFS文件系统上test1.txt的文件内容,仅显示文件的前两行。

5. 修改HDFS文件系统上test1.txt的权限,将其修改为用户可读可写,本组用户可读可写,其他用户只可读。

6. 将HDFS文件系统上test1.txt文件拷贝至HDFS文件系统的根目录下

7. 将根目录下的test1.txt移动至“/user/账户名” 下

8. 将“/user/账户名”下的test1.txt文件从HDFS文件系统拷贝至本地文件系统的“/home/账户名/Desktop”文件夹下。

9. 将HDFS文件系统上的/temp文件夹删除。

10. 将sogou_500w_utf数据上传至HDFS文件系统,并在HDFS系统上查看文件内容的后10行。

二、在虚拟机安装eclipse,并完成HDFS API示例程序的编辑运行。

1. 使用SSH SHELL CLIENT将eclipse安装包上传至虚拟机hadoop01,如下图所示。

2. 在CentOS中安装eclipse,安装包为压缩文件直接输入tar命令解压缩即可完成安装。

3. 完成安装以后将安装目录重命名为eclipse。

4.启动eclipse,完成示例程序的编辑和运行,并检查运行结果。

4.1 在eclipse新建Java Project,输入项目名,完成项目创建。

4.2 在项目中新建一个package,包名请自定义。

4.3 添加依赖库,将hadoop安装文件夹下的以下子目录文件夹中的jar包加进来

5. 在项目内新建类,类名自定义,并输入以下参考代码(注意修改类名),以下代码的功能是完成从本地文件系统上传一个文件到HDFS文件系统。

6. 运行上述程序,检验文件是否正确上传。通过在本地目录和HDFS文件系统查看检验。

三、总结

1. 遇到的问题

2. 解决办法


一、按照下述要求写出相应的文件操作命令,执行并观察结果

启动HDFS文件系统,并按要求完成以下操作。

1. 新建目录

 1.1 在本地文件系统按要求创建如下的文件夹

sudo mkdir -p user/myfile

ls

1.2 在HDFS文件系统按要求创建如下的文件夹

hdfs dfs -mkdir -p /temp/myfile/txt

hdfs dfs -ls /

2. 编辑文件test1.txt,放入本地文件夹 /opt/user/myfile

文件内容如下:

The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.

3. 使用moveFromLocal命令将本地文件test1.txt复制到HDFS文件系统的/temp/myfile/txt文件夹下。

hdfs dfs -moveFromLocal /opt/user/myfile/test1.txt /temp/myfile/txt

4. 查看文件内容,查看HDFS文件系统上test1.txt的文件内容,仅显示文件的前两行。

hdfs dfs -cat /temp/myfile/txt/test1.txt | head -2

5. 修改HDFS文件系统上test1.txt的权限,将其修改为用户可读可写,本组用户可读可写,其他用户只可读。

hadoop fs -chmod 764 /temp/myfile/txt/test1.txt

6. 将HDFS文件系统上test1.txt文件拷贝至HDFS文件系统的根目录下

hdfs dfs -cp /temp/myfile/txt/test1.txt /

hdfs dfs -ls /

7. 将根目录下的test1.txt移动至“/user/账户名” 下

hdfs dfs -mv /test1.txt /user/2130502441ryx/

8. 将“/user/账户名”下的test1.txt文件从HDFS文件系统拷贝至本地文件系统的“/home/账户名/Desktop”文件夹下。

hdfs dfs -get /user/2130502441ryx/test1.txt /home/2130502441ryx/Desktop/

9. 将HDFS文件系统上的/temp文件夹删除。

hdfs dfs -rm -r temp

hdfs dfs -ls / 

10. 将sogou_500w_utf数据上传至HDFS文件系统,并在HDFS系统上查看文件内容的后10行。

hdfs dfs -put /home/2130502441ryx/sogou/sogou.500w.utf8 /

hdfs dfs -tail /sogou.500w.utf8

二、在虚拟机安装eclipse,并完成HDFS API示例程序的编辑运行。

1. 使用SSH SHELL CLIENT将eclipse安装包上传至虚拟机hadoop01,如下图所示。

在我上传的资源中,文件名为eclipse-standard-luna-SR2-linux-gtk-x86_64.tar.gz。

2. 在CentOS中安装eclipse,安装包为压缩文件直接输入tar命令解压缩即可完成安装。

tar -zxvf eclipse-standard-luna-SR2-linu.gz

3. 完成安装以后将安装目录重命名为eclipse。

4.启动eclipse,完成示例程序的编辑和运行,并检查运行结果。

进入eclipse安装目录,运行eclipse可执行文件,启动eclipse,命令如下所示。

./eclipse

4.1 在eclipse新建Java Project,输入项目名,完成项目创建。

4.2 在项目中新建一个package,包名请自定义。

4.3 添加依赖库,将hadoop安装文件夹下的以下子目录文件夹中的jar包加进来

share/hadoop/common

share/hadoop/common/lib

share/hadoop/hdfs

share/hadoop/hdfs/lib

5. 在项目内新建类,类名自定义,并输入以下参考代码(注意修改类名),以下代码的功能是完成从本地文件系统上传一个文件到HDFS文件系统。

6. 运行上述程序,检验文件是否正确上传。通过在本地目录和HDFS文件系统查看检验。

这是本地的hello.txt文件(/home/2130502441ryx/hello.txt)

运行截图:

  在HDFS文件系统查看:

三、总结

1. 遇到的问题

Eclipse控制台报错:Exception in thread "main" java.lang.NoClassDefFoundError: com/ctc/wstx/io/InputBootstrapper

2. 解决办法

原因是导入的jar包不全,需要将/comon和/hdfs下的包都导进去,之后运行即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1866690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机视觉:项目实战

目录 SSD1.安装ananconda2.安装cuda和cudnn3.配置Pytorch环境3.1 pytorch环境的配置与激活3.2 pytorch库的安装3.3 其它依赖库的安装 遇到的问题:1.EOFError: Ran out of input.2.No module named dlib. SSD 1.安装ananconda 见另一篇博文:https://blo…

随机步问题

随机步问题 1.题目简介2.题目分析3.创建变量4.主程序5.程序效果6.程序可以改进的点 1.题目简介 2.题目分析 数组初始化 生成随机方向 判断程序结束的标志 当前元素为Z,或者四个方向都堵住了 3.创建变量 arry[ROW][COL]创建二维数组 _Bool a,b,c,d判断是否会出现四…

搜索引擎的妙用:掌握这些技巧,让你的搜索更高效!

搜索引擎是我们日常生活中不可或缺的工具,它帮助我们快速找到所需的信息。但是,你真的知道如何高效地使用搜索引擎吗?下面,我将分享一些高级搜索技巧,让你的搜索更加精准和高效。 1. 完全匹配搜索 当你想要搜索一个特…

Python数据可视化-地图可视化

1.首先绘制实现数据可视化的思维导图 具体要实现什么功能-怎么处理,先把思路写好 数据来源: 爬取的数据 运行结果: 部分代码: 完整代码请在下方↓↓↓👇获取 转载请注明出处!

调频信号FM的原理与matlab与FPGA实现

平台:matlab r2021b,vivado2023.1 本文知识内容摘自《软件无线电原理和应用》 调频(FM)是载波的瞬时频率随调制信号成线性变化的一种调制方式,音频调频信号的数学表达式可以写为: Fm频率调制,载波的幅度随着调制波形…

不同材质的不锈钢氮气柜优缺点和使用场景分析

不锈钢氮气柜是一种用于存储对湿度敏感的物品的专用储藏设备,通过充入干燥的氮气来降低柜内湿度,保护存储物免受氧化或腐蚀。 根据不同的材质,不锈钢氮气柜可分为: 一、201不锈钢氮气柜: 201不锈钢因其较低的镍含量而成…

【揭秘新潮流】实践教学新宠SmartEDA,让电子设计课“潮“起来!

在信息时代的浪潮下,电子设计课程早已不再是枯燥乏味的代名词。随着技术的飞速发展,一种名为SmartEDA的实践教学新选择正逐渐崭露头角,为电子设计课程注入了前所未有的活力与趣味性。今天,就让我们一起走进SmartEDA的世界&#xf…

25届最近4年中国科学技术大学自动化考研院校分析

中国科学技术大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近4年考研分数情况 四、近4年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、…

Maven列出所有的依赖树

在 IntelliJ IDEA 中,你可以使用 Maven 插件来列出项目的依赖树。Maven 插件提供了一个名为dependency:tree的目标,可以帮助你获取项目的依赖树详细信息。 要列出项目的依赖树,可以执行以下步骤: 打开 IntelliJ IDEA,…

Kubernetes之Controller详解

本文尝试从Kubernetes Controller的种类、交互逻辑、最佳实践、伪代码示例及历史演进5个方面对其进行详细阐述,希望对您有所帮助! 一、Kubernetes Controller种类 Kubernetes Controller Manager 是 Kubernetes 集群的核心组件之一,负责管理…

CCS的安装步骤

CCS的安装步骤 安装之前有几件重要的事情要做: 首先肯定是要下载安装包啦!点击此处是跳到官网下载地址安装包不能处的路径中不能包含中文关闭病毒防护和防火墙,以及其他杀毒软件最后是在重启后进行安装 主要的步骤如下: 找到安…

想布局短视频赛道,云微客AI矩阵系统告诉你诀窍

随着人工智能技术的不断发展,越来越多的企业和个人创作者开始意识到智能化的重要性。而现阶段,随着短视频市场的膨胀扩大,批量成片、智能创作、定时发布是当下重要的趋势,企业如果想在短视频赛道分一杯羹,智能化的平台…

python目录树生成器

代码如下: import os from colorama import Fore, Style, init from tkinter import Tk, Label, Entry, Button, Text, Scrollbar, RIGHT, Y, END# 初始化 colorama init(autoresetTrue)def print_directory_tree(root_dir, text_widget, indent, lastTrue):"…

allWebPlugin助力iWebOffice2015插件在高版本浏览器使用

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX插件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持谷歌、火狐等浏…

STM32CubeMX与RT-Thread Studio协助使用(实现点亮LED)

1创建自己的项目 1-1选择板子 1-2生成的项目 运行一下看是否创建成功 零警告零错误 2配置STM32Cude 2-1找打如图图标点击(CubeMX的图标) 2-2输入自己安装的路径选中exe文件 点击Browse 找到如图选中,在打开(STM32CubeMX的安装路…

Python量化交易学习——Part9:基于放量技术因子的策略实战

话不多说,直接进入正题 股票池:沪深300 买入策略:选择过去收盘价标准差小于0.05,且量比大于3的股票,当第二天高开的时候进行买入; 卖出策略:卖出条件为收益30%或者亏损7%; 首先我们可…

Python复数的加、减、乘、除运算

一、复数 复数由实部和虚部组成,形如abi(a,b均为实数)的数为复数,其中,a被称为实部,b被称为虚部,i为虚数单位,。复数通常用z表示,即zabi,当z的虚部b=0时,则z…

基于CNN卷积神经网络的MQAM调制识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN模型结构 4.2 损失函数与优化 4.3 训练与测试 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff0…

Labview_映射表

1.创建映射表 创建映射表时,该映射表内的所有键为同一类型、键为同一类型。映射表键名可以为任意类型。 PS:生成映射表在使用时请保证唯一键名,如使用同一键名,则在最终输出时只能搜索到最新插入的键值对信息。 2.插入映射表 按照已创建的映…

《TopFormer: Token Pyramid Transformer for Mobile Semantic Segmentation》

期刊:CVPR 年份:2022 代码:https://github.com/hustvl/TopFormer 摘要 尽管视觉Transformer(ViTs)在计算机视觉领域取得了巨大的成功,但沉重的计算成本阻碍了它们在密集预测任务中的应用,如移动设备上的语义分割。…