Hadoop学习记录(2)|HDFS shell命令|体系结构
HDFS的shell
调用文件系统(FS)shell命令使用hadoop fs的形式
所有的FS shell命令使用URI路径作为参数。
URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。
例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更简单的/parent/child(假设配置文件是namenode:namenodePort)
HDFS fs命令
-help [cmd] //显示命令的帮助信息
-ls(r) <path> //显示当前目录下所有文件
-du(s) <path> //显示目录中所有文件大小
-count[-q] <path> //显示目录中文件数量
-mv <src> <dst> //移动多个文件到目标目录
[root@h1 conf]# hadoop fs -cp /tmp/
-cp <src> <dst> //复制多个文件到目标目录,不能用通配符,否则指向本地磁盘。
cp: File does not exist: /tmp/hadoop-root-datanode.pid
cp: File does not exist: /tmp/hadoop-root-jobtracker.pid
cp: File does not exist: /tmp/hadoop-root-namenode.pid
cp: File does not exist: /tmp/hadoop-root-secondarynamenode.pid
cp: File does not exist: /tmp/hadoop-root-tasktracker.pid
cp: File does not exist: /tmp/hsperfdata_root
cp: File does not exist: /tmp/Jetty_0_0_0_0_50030_job_yn7qmk
cp: File does not exist: /tmp/Jetty_0_0_0_0_50060_task cp: File does not exist: /tmp/Jetty_0_0_0_0_50070_hdfs cp: File does not exist: /tmp/Jetty_0_0_0_0_50075_datanode cp: File does not exist: /tmp/Jetty_0_0_0_0_50090_secondary
cp: File does not exist: /tmp/ssh-pyNDMS3249
-rm(r) //删除文件(夹)
-put <localsrc> <dst> //本地文件复制到hdfs
-copyFromLocal //同put
-moveFromLocal //从本地文件移动到hdfs
-get [-ignoreCrc] <src> <localdst> //复制文件到本地,可以忽略crc校验
-getmerge <src> <localdst> //将源目录中的所有文件排序合并到一个文件中
-cat <src> //在终端显示文件内容
-text <src> //在终端显示文件内容
-copyToLocal [-ignoreCrc] <src> <localdst> //复制到本地
-moveToLocal <src> <localdst> 提示is not implemented yet 没有实现这个功能。
-mkdir <path> //创建文件夹
-touchz <path> //创建一个空文件
HDFS体系结构
Namenode
是整个文件系统的管理节点,它维护者整个文件系统的文件目录树,文件或目录的原信息和每个文件对应的数据块列表,并接收用户的操作请求。
文件包括:
fsimage:元数据镜像文件,存储某一时段。namnode内存元数据信息
dfs.name.dir 参数可以配置多个目录,保存多份。
<property>
<name>dfs.name.dir</name>
<value>${hadoop.tmp.dir}/dfs/name,/data/dfs/name</value>
<description>Determines where on the local filesystem the DFS name node
should store the name table(fsimage). If this is a comma-delimited list
of directories then the name table is replicated in all of the
directories, for redundancy. </description>
</property>
edits:操作日志文件
保存事务性日志,如果上传成功了保存在里面,没上传成功信息将删除。
如何转移到fsimage呢?通过secondaryNameNode来完成的。
定期进行合并保存到fsimage,时间记录在fstime中。
fstime:保存最近一次chackpoint的时间
<property>
<name>fs.checkpoint.period</name>
<value>3600</value>
<description>The number of seconds between two periodic checkpoints.
</description>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
<description>The size of the current edit log (in bytes) that triggers
a periodic checkpoint even if the fs.checkpoint.period hasn't expired.
</description>
</property>
DataNode
提供真实文件数据的存储服务
以文件块的形式存储,默认大小64M。
<property>
<name>dfs.block.size</name>
<value>67108864</value>
<description>The default block size for new files.</description>
</property>
不同于普通文件系统的是,HDFS中如果一个文件小于数据块大小,并不占用整个数据块存储空间,而是以实际的数据大小存储。
Replication,多副本,默认3个
<property>
<name>dfs.replication</name>
<value>3</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
SecondaryNameNode
HA的一个解决方案,不支持热备,2.0版本支持。
执行过程:从Namenode上下载元数据信息(fsimage,edits),在本地保存并将其推送到Namenode,同时重置Namenode的edits。
默认安装在Namenode节点上,不安全!生成环境配置为独立服务器。
设置$HADOOP_HOME/conf/master中设置!
Hadoop学习记录(2)|HDFS shell命令|体系结构的更多相关文章
- HDFS - Shell命令
HDFS - Shell命令 最近学习比较忙,本来想做一个搭建集群笔记,今天先记录HDFS-shell命令,明天,最迟明天下午我一定会做一个搭建集群的笔记.. 介绍一个我的集群搭建:一主三从 3个虚拟 ...
- HDFS shell命令行常见操作
hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...
- Hadoop学习笔记之HBase Shell语法练习
Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...
- hdfs shell命令及java客户端编写
一. hdfs shell命令 可以通过hadoop fs 查看所有的shell命令及其用法. 传文件到hdfs: hadoop fs -put /home/koushengrui/Downloads ...
- Hadoop集群常用的shell命令
Hadoop集群常用的shell命令 Hadoop集群常用的shell命令 查看Hadoop版本 hadoop -version 启动HDFS start-dfs.sh 启动YARN start-ya ...
- Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)
在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平 ...
- hadoop 学习(三)之hdfs shell命令
1.HDFS shell 1.0查看帮助 hadoop fs -help <cmd> 1.1上传 hadoop fs -put <linux上文件> <hdfs上的路 ...
- hadoop学习笔记(五):HDFS Shell命令
一.HDFS文件命令 以下是比较重要的一些命令: [root@master01 hadoop]# hadoop fs -ls / //查看根目录下的所有文件 [root@master01 hadoop ...
- hadoop2.5.2学习及实践笔记(五)—— HDFS shell命令行常见操作
附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/FileSy ...
随机推荐
- mysql procedure返回多数据集
返回多数据集写法:第一种 DROP PROCEDURE IF EXISTS `p_query_user` ; DELIMITER // CREATE PROCEDURE p_query_user( p ...
- A Full Hardware Guide to Deep Learning
A Full Hardware Guide to Deep Learning Deep Learning is very computationally intensive, so you will ...
- Motion on Ubuntu
Motion is a program that monitors the video signal from one or more cameras and is able to detect if ...
- 如何让centos6.5在vm11里上网,连接网络?
如何让centos在vm里连接网络?步骤有3,方可解决: 1.配置vm的虚拟网络编辑器 2.配置虚拟机centos 3.设置centos的ip地址 一.配置vm的虚拟网络编辑器
- JAVA大数类练手
今天突然看到了OJ上的大数类题目,由于学习了一点大数类的知识.果断水了6道题......都是非常基础的.就当的练手的吧. 学到的只是一些大数类的基本操作.以后多做点这样的题,争取熟练运用水大数题... ...
- ANDROID_MARS学习笔记_S01原始版_021_MP3PLAYER001_下载mp3文件
一.简介 1.在onListItemClick()中new Intent,Intent以存储序列化后的mp2Info对象作为参数,启动serivce 2.DownloadService在onStart ...
- Android HttpClient get传递数组
url请求格式: String url = "http://10.80.7.26:" + +;
- 基于dojo模板的widget
参考:http://niweiwei.iteye.com/blog/1539863 http://dojotoolkit.org/reference-guide/1.8/dijit/_Template ...
- YIi 权限管理和基于角色的访问控制
验证和授权(Authentication and Authorization) 定义身份类 (Defining Identity Class) 登录和注销(Login and Logout) 访问控制 ...
- 模拟+二分 poj-1019-Number Sequence
题目链接: http://poj.org/problem?id=1019 题目大意: Sk表示123...k 把S1S2S3...Sk排成一行 比如:112123123412345123456.... ...