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

目录

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

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/myfilels

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

hdfs dfs -mkdir -p /temp/myfile/txthdfs 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.rhkb.cn/news/361984.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IT入门知识第八部分《云计算》(8/10)

目录 云计算:现代技术的新篇章 1. 云计算基础 1.1 云计算的起源和发展 云计算的早期概念 云计算的发展历程 1.2 云计算的核心特点 按需自助服务 广泛的网络访问 资源池化 快速弹性 按使用量付费 1.3 云计算的优势和挑战 成本效益 灵活性和可扩展性 维…

【AIGC】用 AI 绘画 诠释印象派!关键词、安装包分享!

前言 印象派艺术运动是19世纪60年代法国的一场艺术革命,它不仅革新了绘画技法,更重新诠释了光与色彩、自然与美。印象派艺术家,如莫奈、雷诺阿和德加,通过捕捉自然光线的瞬息变化,用色彩和笔触表达对现实世界的独特感…

每个 Node.js 开发人员都应该知道的13个库(上)

1. Sequelize Sequelize是一个基于promise的Node.js对象关系映射器(ORM),它使开发人员更容易使用关系数据库。 支持PostgreSQL,MySQL,MariaDB,SQLite和更多数据库。 Sequelize使用JavaScript对象对数据库…

入门JavaWeb之 Response 验证码和重定向

Response 写验证码: package com.demo.response;import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse…

人工神经网络是什么,其应用有哪些?

人工神经网络是什么,其应用有哪些? 当你阅读这篇文章时,你身体的哪个器官正在考虑它?当然是大脑!但是你知道大脑是如何工作的吗?嗯,它有神经元或神经细胞,它们是大脑和神经系统的主要…

Python笔记 json数据格式的转换

一、json数据格式 1.什么是json json是一种轻量级的数据交互格式。可以按照json指定的格式去组织和封装数据 json本质上是一个带有特定格式的字符串 主要功能:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。类似…

基于SpringBoot音乐网站与分享平台详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全&#xff1…

Xilinx FPGA:vivado实现串口的接收端

补充一些串口里用到的数值的相关知识点 接收端串口时序图: 程序设计: timescale 1ns / 1ps /串口接收端 串行转并行 module uart_rx(input sys_clk ,input rst_n ,input rx_data , //输入…

JDBC以及事务

1、JDBC是什么? JDBC是Java DataBase Connectivity(Java语言链接数据库) 2、JDBC的本质 JDBC是一套接口,有调用者(java工程师)和实现者(SUN公司)(实现类被称为驱动&…

electron线上跨域问题

一、配置background.js win new BrowserWindow({webPreferences: {nodeIntegration: true, // 使渲染进程拥有node环境//关闭web权限检查,允许跨域webSecurity: false,// Use pluginOptions.nodeIntegration, leave this alone// See nklayman.github.io/vue-cli-p…

终于找到能在mac上正常保存密码的navicat了- navicat v17.0.9

找了一晚上,终于找到能在mac上正常保存密码的navicat了。 免费分享,不用关注公众号,不用看广告。如果帮助到你,可以的话帮忙给 https://github.com/gone-io/gone 点个星星。 链接: https://pan.baidu.com/s/1ZvGqSMNcv8uMCIpwf0…

Charls数据库+预测模型发二区top | CHARLS等七大老年公共数据库周报(6.19)

七大老年公共数据库 七大老年公共数据库共涵盖33个国家的数据,包括:美国健康与退休研究 (Health and Retirement Study, HRS);英国老龄化纵向研究 (English Longitudinal Study of Ageing, ELSA);欧洲健康、…

ThreadX简介

文章目录 1. 摘要2. ThreadX的特性2.1 免费开源2.2 安全认证级别高2.3 组件完善2.4 实时性高2.5 支持多核2.6 支持应用动态加载2.7 代码符合MISAR规范2.8 文档全面,例程丰富2.9 集成方便3. 移植示例4. 产品应用示例1. 摘要 在嵌入式系统领域,实时性能、系统稳定性以及广泛的…

Windows 10,11 Server 2022 Install Docker-Desktop

docker 前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 docker-compose Compose 是用于定义和运行…

基于大语言模型的多意图增强搜索

随着人工智能技术的蓬勃发展,大语言模型(LLM)如Claude等在多个领域展现出了卓越的能力。如何利用这些模型的语义分析能力,优化传统业务系统中的搜索性能是个很好的研究方向。 在传统业务系统中,数据匹配和检索常常面临…

LangChain之Agent代理(下)

LangChain之Agent代理 OpenAI Functions Agent概述配置环境变量基本使用实际应用示例 OpenAI Tools Agent概述基本使用实际应用示例 ReAct Agent概述Google搜索APIinitialize_agentcreate_react_agent Structured Chat AgentSelf-Ask with Search Agent OpenAI Functions Agent…

stl之string

构造函数 void test1() {string s1;//不传参cout << s1 << endl;string s2("123456");cout << s2 << endl;string s3(s2);cout << s3 << endl;string s4(s2, 1, 5);cout << s4 << endl;string s5("123456&quo…

LLM vs SLM 大模型和小模型的对比

语言模型是能够生成自然人类语言的人工智能计算模型。这绝非易事。 这些模型被训练为概率机器学习模型——预测适合在短语序列中生成的单词的概率分布&#xff0c;试图模仿人类智能。语言模型在科学领域的重点有两个方面&#xff1a; 领悟情报的本质。 并将其本质体现为与真实…

gin-vue-amdin 新增路由

1&#xff1a;在api目录的example 下新建controller 层如下图&#xff08;&#xff09;&#xff1a; 在enter.go 中 加入 这个新建的结构体&#xff1a; 2&#xff1a;在router 的example 文件夹下 新建对应的路由文件 3&#xff1a;在initlize 的router 中 添加对应的代码&a…

推动多模态智能模型发展:大型视觉语言模型综合多模态评测基准

随着人工智能技术的飞速发展&#xff0c;大型视觉语言模型&#xff08;LVLMs&#xff09;在多模态应用领域取得了显著进展。然而&#xff0c;现有的多模态评估基准测试在跟踪LVLMs发展方面存在不足。为了填补这一空白&#xff0c;本文介绍了MMT-Bench&#xff0c;这是一个全面的…