hadoop学习笔记

一、概念

 1、分布式文件系统:管理网络中,跨多台计算机存储的文件系统,被称为分布式文件系统。

2、HDFS用流式数据访问模式来存储超大文件。

3、namenode:管理者,管理文件系统的命名空间,在内存中保存文件系统中每个文件和数据块的引用关系。没有namenode,文件系统将无法使用,因此对namenode的容错非常重要。

容错方案:

   1)备份那些组成文件系统元数据持久状态的文件。使namenode在多个文件系统上保存元数据的持久状态。

  2)运行一个协助的namenode,但它不能用作namenode。它的主要作用是定期通过编辑日志合并命名空间镜像。

 

4、datanode:工作者,根据需要存储并检索数据块,并且定期向namenode发送它们所存储块的列表。

二、文件系统的基本操作

1、查看帮助文档  

 ./hadoop fs -help

1、查看列表

./hdfs dfs -ls /

[root@osd01 bin]# ./hdfs dfs -ls /
Found 3 items
drwxr-xr-x   - hadoop supergroup          0 2016-10-31 11:06 /hbase
drwxrwxr-x   - hadoop supergroup          0 2016-10-31 19:44 /tmp
drwxr-xr-x   - hadoop supergroup          0 2016-10-31 17:56 /user

2、新建目录

切换成hadoop用户 : su hadoop  

./hdfs dfs -mkdir /data/spark


//查看新建的目录
[root@osd01 bin]# ./hdfs dfs -ls /
Found 4 items
drwxr-xr-x   - hadoop supergroup          0 2016-11-08 16:50 /data
drwxr-xr-x   - hadoop supergroup          0 2016-10-31 11:06 /hbase
drwxrwxr-x   - hadoop supergroup          0 2016-10-31 19:44 /tmp
drwxr-xr-x   - hadoop supergroup          0 2016-10-31 17:56 /user

[root@osd01 bin]#  ./hdfs dfs -ls /data
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2016-11-08 16:50 /data/spark

3、拷贝文件(从本地复制到HDF)

-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]

//从本地目录复制文件到hdfs目录上
./hdfs dfs -copyFromLocal  /data/tools/one.txt  /data/spark 

[hadoop@osd01 bin]$ ./hdfs dfs -ls /data/spark
Found 1 items
-rw-r--r--   1 hadoop supergroup         16 2016-11-09 09:22 /data/spark/one.txt

4、检查两个文件是否一致

[root@osd01 tools]# md5sum one.txt one1.txt
dda6a444d4951f1a3c30248fe02bd11f  one.txt
dda6a444d4951f1a3c30248fe02bd11f  one1.txt

md5一样,表示两个文件的内容是一样的。

5、在hdfs中访问本地文件系统的方法


[hadoop@osd01 bin]$ ./hdfs dfs -ls file:///data/
Found 2 items
drwxr-xr-x   - root root         28 2016-05-20 16:20 file:///data/program
drwxr-xr-x   - root root       4096 2016-11-09 10:21 file:///data/tools

6、删除目录

FileSystem.delete(Path f,boolean recursive);
//只有当recursive为true的时候,非空目录及其内容才会被删除。

	@Test
	public void testRm() throws IllegalArgumentException, IOException {

		boolean res = fs.delete(new Path(
				"hdfs://10.206.19.180:8020/test/hdfsTest/pengxiaochun"), true);
		System.out.println("result=" + res);
	}

三、Hadoop的I/O操作

1、检验数据完整性,可以通过checksum检验文件。

转载于:https://my.oschina.net/u/2874009/blog/784644

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值