一.Web Console:端口50070

二.HDFS的命令行操作

(一)普通操作命令  

HDFS 操作命令帮助信息: hdfs dfs + Enter键

常见命令

1.  -mkdir

  • 在HDFS上创建目录:hdfs dfs -mkdir /aaa
  • 如果父目录不存在,使用 -p 命令先创建父目录:

2. -ls /

  查看hdfs文件系统根目录下的目录和文件:

3.-ls -R /

  查看所有目录和文件:

4.-put

  上传数据:将本地Linux文件data.txt上传到HDFS的aaa目录下

-copyFromLocal 上传数据,类似-put

-moveFromLocal 上传数据,类似-put,相当于ctrl+x

5.-get 下载数据(刚才上传数据时已经有data.txt,所以要把Linux目录下的data.txt先删除)

6.-rm: 删除目录

-rmr: 删除目录,包括子目录

hdfs dfs -rmr /bbb

7. -getmerge:把某个目录下的文件,合并后再下载

8.-cp:拷贝   hdfs dfs -cp /input/data.txt /input/data2.txt

9.-mv:移动   hdfs dfs -cp /input/data.txt /aaa/a.txt

10.-count 统计hdfs对应路径下的目录个数,文件个数,文件总计大小:hdfs dfs -count /students

11.-du 显示hdfs对应路径下每个文件夹和目录的大小 hdfs dfs -du /students

12.-cat 查看文本的内容 hdfs dfs -cat /input/data.txt

13.balancer:平衡操作 如果管理员发现某些DataNode上保存数据过多,某些过少,就可以采取此操作

(二)管理命令:hdfs dfsadmin

举例:

1.-report  打印hdfs的报告 hdfs dfsadmin -report

2.-safemode:安全模式(安全模式下对hdfs只能进行只读操作)

三.JavaAPI

通过HDFS提供的JavaAPI,我们可以完成以下的功能:

(一)在HDFS上创建目录

(二)写入数据(上传文件)

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test; import com.jcraft.jsch.Buffer; public class TestUpload { @Test
public void testUpload() throws IOException{
System.setProperty("HADOOP_USER_NAME", "root");
//NameNode core.site.xml
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.153.11:9000"); //构造一个输入流 <---HDFS
FileSystem fs = FileSystem.get(conf); InputStream in = new FileInputStream("D:\\temp\\hadoop-2.7.3.tar.gz"); //构造一个输出流------> HDFS
OutputStream out = fs.create(new Path("/tools/hadoop-2.7.3.tar.gz")); byte[] buffer = new byte[1024];
int len = 0; while ((len=in.read(buffer)) > 0) {
out.write(buffer, 0, len);
} out.flush(); in.close();
out.close(); }
}

(三)通过 FileSystem API 读取数据(下载文件)

(四)查看目录及文件信息

(五)查找某个文件在HDFS集群的位置

(六)删除数据

(七)获取HDFS集群上所有数据节点信息

大数据笔记(四)——操作HDFS的更多相关文章

  1. 大数据学习——java操作hdfs环境搭建以及环境测试

    1 新建一个maven项目 打印根目录下的文件的名字 添加pom依赖 pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  2. 大数据系列2:Hdfs的读写操作

    在前文大数据系列1:一文初识Hdfs中,我们对Hdfs有了简单的认识. 在本文中,我们将会简单的介绍一下Hdfs文件的读写流程,为后续追踪读写流程的源码做准备. Hdfs 架构 首先来个Hdfs的架构 ...

  3. Dapper学习(四)之Dapper Plus的大数据量的操作

    这篇文章主要讲 Dapper Plus,它使用用来操作大数量的一些操作的.比如插入1000条,或者10000条的数据时,再使用Dapper的Execute方法,就会比较慢了.这时候,可以使用Dappe ...

  4. 大数据笔记04:大数据之Hadoop的HDFS(基本概念)

    1.HDFS是什么? Hadoop分布式文件系统(HDFS),被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点. 2.HDFS ...

  5. 大数据笔记09:大数据之Hadoop的HDFS使用

    1. HDFS使用: HDFS内部中提供了Shell接口,所以我们可以以命令行的形式操作HDFS

  6. 大数据-hadoop生态之-HDFS

    一.HDFS初识 hdfs的概念: HDFS,它是一个文件系统,用于存储文件,通过目录树定位文件,其次,他是分布式的,由很多服务器联合起来 实现功能,集群中的服务器各有各自的角色 HDFS设计适合一次 ...

  7. 大数据 - hadoop基础概念 - HDFS

    Hadoop之HDFS的概念及用法 1.概念介绍 Hadoop是Apache旗下的一个项目.他由HDFS.MapReduce.Hive.HBase和ZooKeeper等成员组成. HDFS是一个高度容 ...

  8. 大数据【二】HDFS部署及文件读写(包含eclipse hadoop配置)

    一 原理阐述 1' DFS 分布式文件系统(即DFS,Distributed File System),指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.该系统架构 ...

  9. 大数据【四】MapReduce(单词计数;二次排序;计数器;join;分布式缓存)

       前言: 根据前面的几篇博客学习,现在可以进行MapReduce学习了.本篇博客首先阐述了MapReduce的概念及使用原理,其次直接从五个实验中实践学习(单词计数,二次排序,计数器,join,分 ...

  10. 大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)

    一.HDFS 的设计思路 1)思路 切分数据,并进行多副本存储: 2)如果文件只以多副本进行存储,而不进行切分,会有什么问题 缺点 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处 ...

随机推荐

  1. 关于Maven的安装和配置

    1.Maven的介绍 1.Maven是一个项目管理工具(项目对象模型POM) 2.Maven可以管理项目中的jar包依赖 3.Maven的中央仓库地址 http://mvnrepository.com ...

  2. 背包dp相关

    0/1背包 给出n个物品,每个物品有Vi的价值和Wi的费用,我们总共有m块钱,求最多能得到多少价值的物品. N<=10^3,m<=10^3 记录方案数?记录输出方案? 输出方案: 对每个d ...

  3. mysql 大数据分页优化

    一.mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from prod ...

  4. 小白学Python——Matplotlib 学习(1)

    众所周知,通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象.而大多数编程语言都有自己的绘图工具,matplotlib就是基于Python的绘图工具包,使用它我们 ...

  5. 高德地图搜索功能以及清除搜索结果maker

    第一次写文章,写得不好各位看官见谅~ (pσ_σ)P首先这是一个vue里面的项目,高德地图api是直接CDN进来的,所以使用了global来调用,默认已经初始化了一个地图,为了实现一个输入框搜索功能和 ...

  6. GridView做加

    原文:http://www.cnblogs.com/insus/archive/2012/09/22/2697862.html 下面是Insus.NET实现演示: CObj.cs代码: using S ...

  7. Laravel 学习笔记之数据库操作——Eloquent ORM

    1. 时间戳 默认情况下在使用ORM操作数据库进行添加.修改数据时, created_at 和 updated_at列会自动存在于数据表中,并显示的是 ‘2017’格式,如果想以 Unix时间戳格式存 ...

  8. java封装小实例

    封装是java语言的一个重要的特性,通过把对象的属性和操作方法封装在同一个类中,对外只提供公共方法对这些数据进行set和get,同时封装也能对方法进行封装.总之封装能够有效地隐藏内部的代码细节,从而使 ...

  9. linux 启动和关闭 MySQL

    建议使用 mysqld_safe 命令启动,因为该命令添加了安全特性,当服务器发生错误时自动重启并且 把运行信息记录错误发送到日志文件!命令格式如下: mysqld_safe options 命令的常 ...

  10. STM32程序加载与调试

    1.STM32程序的ISP下载,只能使用串口1,其它串口不可以.