(一)通过shell命令访问HDFS

【实验原理】

  • HDFS是hadoop平台的核心组成之一。熟悉使用hadoop平台需要熟练访问HDFS。HDFS的访问方式有多种。可通过web访问,也可通过shell方式或者API方式访问。基本操作有对文件的读、写、追加、删除等。新建文件夹、删除文件夹等。还可显示文件及文件夹的属性。

【实验环境】

  • 操作系统:Linux 
    Hadoop版本:2.6.5或以上版本 
    JDK版本:1.6或以上版本
    Java IDE:Eclipse

【实验步骤】

  • HDFS有很多shell命令,其中,fs命令可以说是HDFS最常用的命令,利用该命令可以查看HDFS文件系统的目录结构、上传和下载数据、创建文件等。该命令的用法为:
    hdfs dfs [genericOptions] [commandOptions]
    备注:Hadoop中有三种Shell命令方式:
    hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
    hadoop dfs只能适用于HDFS文件系统
    hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统
    以下实验使用hdfs dfs(可以在终端输入hdfs dfs -help command查询命令用法)。
  • 注:执行hdfs命令需要去/hadoop/bin的目录下(学知浅薄,等学习明白再来解释)
  • 列出HDFS当前用户目录下的文件及文件夹
hdfs dfs -ls /
  • 列出HDFS文件下名为test的文件夹中的文件
hdfs dfs -ls test
  • 上传文件将本地目录file1文件上传到HDFS并重新命名为file2
hdfs dfs -put file1 file2
  • 下载文件:将HDFS中的file2文件复制到本地系统并命名为file1
hdfs dfs -get file2 file1
  • 查看文件:查看HDFS下file1文件内容
hdfs dfs -cat file1
  • 删除文档:删除HDFS下名为file1的文件(参数r为递归删除)
hdfs dfs-rmr file1
  • 在HDFS的/hadoop的路径下建立新目录,名为t1
hdfs dfs -mkdir /hadoop/t1
  • 本地文件复制到HDFS(注意与put的区别)
    注:src:本地地址; dst:目标地址;
hdfs dfs -copyFromLocal src dst
  • 本地文件移到到HDFS
hdfs dfs -moveFromLocal src dst
  • 文件或者文件夹的复制
hdfs dfs -cp src dst
  • 文件或者文件夹的移动
hdfs dfs -mv src dst
  • copyToLocal复制文件到本地
hdfs dfs -copyToLocal src dst
  • touchz创建一个空文件file
hdfs dfs -touchz file
  • 追加到文件末尾的命令
hdfs dfs -appendToFile local.txt text.txt

(二)实验二:通过API访问HDFS

【实验名称】 通过API访问HDFS

  • 【实验环境】
    操作系统:Linux 
    Hadoop版本:2.6.5或以上版本 
    JDK版本:1.6或以上版本
    Java IDE:Eclipse
  • 【导包】
    注意:
    在EDU实验平台中,HDFS入口到/etc/hadoop/conf/core-site.xml,name:fs.defaultFS查找。
    编写代码之前需要手动在eclipse工程中导入如下jar包:
    hadoop-2.7.3/share/hadoop/common下的jar
    hadoop-2.7.3/share/hadoop/common/lib下的jar
    hadoop-2.7.3/share/hadoop/hdfs下的jar
    hadoop-2.7.3/share/hadoop/hdfs/lib下的jar
    以上jar包在EDU平台中路径为/usr/hdp/2.6.1.0-129/hadoop/hadoop/share/hadoop。
  • 往hdfs上创建文件
import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;public class Test1 {public static void main(String[] args) throws Exception {Configuration conf = new Configuration();URI uri = new URI("hdfs://192.168.76.***:9000");FileSystem fs = FileSystem.get(uri, conf, "wgq");Path path = new Path("/b.txt");FSDataOutputStream out = fs.create(path);out.writeBytes("hello world!");}}

hdfs实验相关操作相关推荐

  1. 实验二 HDFS的Shell命令操作,和HDFS的API操作

    文章目录 实验目的 一. 实验原理 二.实验准备 实验内容 步骤 项目1 HDFS常见命令练习 列出HDFS当前用户家目录下的文件及文件夹: 列出HDFS文件下名为directory的文件夹中的文件: ...

  2. 04Linux常用命令(文件系统与磁盘相关操作)

    Linux常用命令(文件系统与磁盘相关操作) 1.基础知识 1:通常称呼一个可被挂载的数据为一个文件系统而不是一个分区.2:操作系统的文件数据除了文件的实际内容外,通常含有非常多的属性,例如Linux ...

  3. 2021年大数据HBase(五):HBase的相关操作JavaAPI方式

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-JavaAPI方式 一.需求说明 ...

  4. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

    JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...

  5. Spark Streaming介绍,DStream,DStream相关操作(来自学习资料)

    一. Spark Streaming介绍 1. SparkStreaming概述 1.1. 什么是Spark Streaming Spark Streaming类似于Apache Storm,用于流式 ...

  6. oracle decode_错过血亏!一文搞懂Oracle锁相关视图及相关操作

    本文主要研究锁的相关视图,以及锁的相关操作,通过视图查锁的问题. 一.v$transaction视图 第一个视图是v$transaction,就是Oracle数据库所有活动的事务数,所有活动的事务每一 ...

  7. 错过血亏!一文搞懂Oracle锁相关视图及相关操作

    本文主要研究锁的相关视图,以及锁的相关操作,通过视图查锁的问题. 一.v$transaction视图 第一个视图是v$transaction,就是Oracle数据库所有活动的事务数,所有活动的事务每一 ...

  8. linux授权命令chmod777_【HDFS篇02】HDFS命令行操作

    完成永远比完美重要 HDFS的Shell操作 基本语法 hadoop fs 具体命令[推荐] hdfs dfs 具体命令 常用命令大全 启动Hadoop集群 // 这些命令也都可以按照自己的方式组成脚 ...

  9. C++文件流fstream相关操作

    C++文件流fstream相关操作 一.理解Open函数 利用fstream,使用open/close打开或创建,完成后关闭,对文件读入读出使用插入器(<<) 或析取器(>>) ...

最新文章

  1. 判断字符串是不是数字
  2. zynq上NEON进行fft
  3. PMCAFF要搞一场区块链产品大会,各大厂全都来了!
  4. boost::signals2模块实现用于从槽返回值到信号调用的示例程序
  5. link 和 @import 的区别
  6. SAP Spartacus checkout.reducer.ts调用时间点
  7. 解决checkbox与对应文字不对齐的问题
  8. win7 IIS7环境下部署PHP 7.0
  9. mysql coalesce函数用法_MySQL coalesce函数用法说明(转)
  10. 问题:AttributeError: 'Tensor' object has no attribute 'creator'
  11. window 2003 实现多用户远程登录
  12. 我常用的分页存储过程
  13. 科研 | 中英文期刊分区介绍及查询方法
  14. PowerBuilder9.0 安装包及注意事项
  15. matlab求FB色散模型,有效折射率法求矩形波导色散曲线(附Matlab程序)
  16. 16种常用的数据分析方法-相关分析
  17. ele 多个表格 tab切换后 多选, 复选出现的问题
  18. SQL基础系列(七)——CASE表达式
  19. (4) STM32 AS608指纹识别模块测试代码
  20. android上怎样让一个Service开机自动启动

热门文章

  1. 乐死我了,怎么样成为一个全栈程序员(Full Stack Developer)
  2. 奉劝穷矮搓的宅男,不要再做这五件事了
  3. 2012年数学二真题手稿解析
  4. 你所不知道的js语言细节---1、函数的形参赋值
  5. 2.1 HI3518+RTSP
  6. 华为运动手表HUAWEI WATCH GT3恢复心率功能实测详解
  7. RTThread IO组件 GPIO
  8. 82、基于STM32单片机电动车充电桩 MLX90614温度检测自动灭火设计
  9. C++学习的方法以及四大名著(荐)
  10. 01-为什么要学爬虫-python小白爬虫入门教程