HDFS的常用操作

1、HDFS文件的权限以及读写操作

HDFS文件的权限:

•与Linux文件权限类似

•r: read; w:write; x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容

•如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan

•HDFS的权限目的:阻止好人错错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁

HDFS文件的读取:

HDFS文件的写入:

HDFS文件存储:

两个文件,一个文件156M,一个文件128在HDFS里面怎么存储?

--Block为64MB

--rapliction默认拷贝3份

HDFS文件存储结构:

2、HDFS下的文件操作

1、列出HDFS文件

通过“-ls”命令列出HDFS下的文件

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfs -ls

执行结果如图:

注意:在HDFS中未带参数的“-ls”命令没有返回任何值,它默认返回HDFS的“home”目录下的内容。在HDFS中,没有当前工作目录这样的概念,也没有cd这个命令

2、列出HDFS目录下某个文档中的文件

此处展示的是“-ls  文件名”命令浏览HDFS下名为in的文档中的文件

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfs -ls in

3、上传文件到HDFS

此处展示的是“-put  文件1  文件2”命令将hadoop-0.20.2目录下的test1文件上传到HDFS上并重命名为test

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfs -put test1 test

注意:在执行“-put”时只有两种可能,即是执行成功和执行失败。在上传文件时,文件首先复制到DataNode上,只有所有的DataNode都成功接收完数据,文件上传才是成功的。

4、将HDFS中的文件复制到本地系统中

此处展示的是“-get  文件1  文件2”命令将HDFS中的in文件复制到本地系统并命名为getin:

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfs -get in getin

5、删除HDFS下的文档

此处展示的是“-rmr  文件”命令删除HDFS下名为out的文档:

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfs -rmr out

执行命令后,查看只剩下一个in文件,删除成功:

6、查看HDFS下的某个文件

此处展示的是“-cat  文件”命令查看HDFS下in文件中的内容:

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfs -cat in/*

输出:

hello world
hello hadoop

PS:bin/hadoop dfs 的命令远不止这些,但是本文的这些命令很实用,对于其他的操作,可以通过“-help commandName”命令所列出的清单来进一步的学习

3、管理与更新

1、报告HDFS的基本统计信息

通过“-report”命令查看HDFS的基本统计信息:

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfsadmin -report

执行结果如下所示:

14/12/02 05:19:05 WARN conf.Configuration: DEPRECATED: hadoop-site.xml found in the classpath. Usage of hadoop-site.xml is deprecated. Instead use core-site.xml, mapred-site.xml and hdfs-site.xml to override properties of core-default.xml, mapred-default.xml and hdfs-default.xml respectively
Configured Capacity: 19945680896 (18.58 GB)
Present Capacity: 13558165504 (12.63 GB)
DFS Remaining: 13558099968 (12.63 GB)
DFS Used: 65536 (64 KB)
DFS Used%: 0%
Under replicated blocks: 1
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 1 (1 total, 0 dead)

Name: 127.0.0.1:50010
Decommission Status : Normal
Configured Capacity: 19945680896 (18.58 GB)
DFS Used: 65536 (64 KB)
Non DFS Used: 6387515392 (5.95 GB)
DFS Remaining: 13558099968(12.63 GB)
DFS Used%: 0%
DFS Remaining%: 67.98%
Last contact: Tue Dec 02 05:19:04 PST 2014

2、退出安全模式

NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何的修改。安全模式的目的是在系统启动时检查各个DataNode

上数据块的有效性,同时根据策略对数据块进行必要的复制和删除,当数据块的最小百分比数满足配置的最小副本数条件时,会自动退出安全模式。

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfsadmin -safemode leave

3、进入安全模式

wu@ubuntu:~/opt/hadoop-0.20.2$ bin/hadoop dfsadmin -safemode enter

4、添加节点

可扩展性是HDFS的一个重要的特性,向HDFS集群中添加节点是很容易实现的。添加一个新的DataNode节点,首先在新加的节点上安装好 hadoop,要和NameNode使用相同的配置,修改HADOOP_HOME/conf/master文件,加入NameNode主机名。然后在 NameNode节点上修改HADOOP_HOME/conf/slaves文件,加入新节点主机名。再建立到新节点无密码SSH连接,运行启动命令:

$ bin/start-all.sh

通过http://(主机名):50070可查看到新的DataNode节点添加成功

5、负载均衡

用户可以使用下面的命令来重新平衡DataNode上的数据块的分布:

$ bin/start-balancer.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398497.shtml

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

相关文章

并行计算总结

作者:ArimaMisaki 目录 1 并行计算概述. 2 1.1 基本概念. 2 1.2 存储器的层次结构. 3 1.3 并行计算. 3 1.4 动态互连网络. 4 1.5 并行计算机结构模型. 5 1.6 并行算法的基本设计策略. 6 1.7 并行编程风范. 6 1.8 单核多线程和并发执行. 7 1.9 拓展&#x…

HDMI转MIPI DSI芯片方案TC358779XBG

型号:TC358779XBG功能:HDMI1.4转MIPI DSI通信方式:IIC分辨率:1920*1080电源:3.3/1.8/1.2封装形式:BGA80深圳长期现货 ,提供技术支持,样品申请及规格书请联系蔡生M18312533639 Q1520…

基础总结篇之中的一个:Activity生命周期

子曰:溫故而知新,能够為師矣。《論語》 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精…

数据结构杂谈(九)——二叉树的遍历

9 二叉树的遍历 文章目录9 二叉树的遍历9.1 递归函数基础9.2 深度优先遍历的实现9.3 二叉树层次遍历9.1 递归函数基础 什么是递归?调用自身就是叫递归,如下所示: void r(){r(); }我们习惯借用阶梯图来帮助我们理解这些知识。如果是同一层函数…

洛谷 P3750 [六省联考2017]分手是祝愿

传送门 题解 //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<vector> #include<cstdio> #include<queue> #include<cmath> const int N100000,mod100003; #define For(i,a,b)…

新书《编写可测试的JavaScript代码 》出版,感谢支持

本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码。不管是创建新应用程序&#xff0c;还是重写遗留代码&#xff0c;本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代码。从减少代码复杂性的方法&#xff0c;到单元测试、代码覆盖…

解决 error: command 'swig' failed with exit status 1

2019独角兽企业重金招聘Python工程师标准>>> # pip install docker-registry 分析&#xff1a;观察出现的错误&#xff0c;发现最开始报错的地方提示不能找到openssl的.h头文件。一般.h头文件都是放到/usr/inclue目录下的&#xff0c;而且头文件所在的安装包一般叫…

Android安全-SO动态库注入

2019独角兽企业重金招聘Python工程师标准>>> 关于这方面技术&#xff0c;网上已经有大把的实现。在此&#xff0c;我只是记录下自己的学习过程。 0x1 原理 所谓的SO注入就是将代码拷贝到目标进程中&#xff0c;并结合函数重定向等其他技术&#xff0c;最终达到监控或…

添加远程链接MySQL的权限

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名用户地址 identified by ‘连接口令’;权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。当权限1,权限2,…权限n被…

C# Java间进行RSA加密解密交互(二)

接着前面一篇文章C# Java间进行RSA加密解密交互&#xff0c;继续探讨这个问题。 在前面&#xff0c;虽然已经实现了C# Java间进行RSA加密解密交互&#xff0c;但是还是与项目中要求的有所出入。在项目中&#xff0c;客户端&#xff08;Java&#xff09;的加密是通过这么一个方法…

BUG日志-2022.7.12——关于VSCode感叹号无法生成HTML骨架问题

解决办法&#xff1a;放弃使用多年的!&#xff0c;而采用html:5的形式。 原因&#xff1a;好像是因为VScode已经更新了 好多扩展也失效了。

hadoop 入门实例【转】

原文链接&#xff1a;http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html 1、数据去重 "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据…

AWS安装CDH5.3-CentOS6.4中关键操作步骤

1、在AWS masternode 上下载cloudera-manager-installer.bin安装包 [rootip-172-21-42-114 ~]# wget http://archive.cloudera.com/cm5/installer/latest/coludera-manager-installer.bin 此时会提示&#xff1a;-bash: wget: command not find 所以要现安装wget命令 [rootip-1…

You have an error in your SQL syntax; check the manual that corresponds to...

问题缘由&#xff1a; 使用datagrip插入数据时发生报错 使用插入语句为&#xff1a; insert into ev_name (‘username’,‘password’) values (‘admin’,‘123456’); 错误提示&#xff1a; You have an error in your SQL syntax; check the manual that corresponds to …

Linux命令之文件相关

cd 绝对路径相对路径 --转到对应目录 touch-a --更新访问时间 touch -m --更新修改时间&#xff08;ls -l只能显示修改时间&#xff09; touch -t 【【cc】yy】mmddhhmm【ss】 --修改文件时间为任意时间0-68为20**&#xff0c;69-99为19**&#xff0c; touch 不存在的文件 --新…

省赛第一次选拔赛

就是第11届浙江省省赛的套题&#xff0c;总共11题&#xff0c;A了3题&#xff0c;排第25&#xff0c;中途就走了&#xff0c;其实那道同模取余题我是可以做出的&#xff0c;找规律我也想到了&#xff0c;但tmd我只打了30个的表&#xff0c;规律是第48个后出现&#xff0c;点背啊…

getaddrinfo ENOTFOUND 127.0.0.1:3306

错误缘由&#xff1a; 在写nodejs项目时&#xff0c;连接数据库发现找不到数据库。 解决&#xff1a; 发现数据库连接池没有设置端口号&#xff0c;需设置端口号3306。 解决效果&#xff1a; 成功解决

357. Count Numbers with Unique Digits

357. Count Numbers with Unique Digits Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Example:Given n 2, return 91. (The answer should be the total numbers in the range of 0 ≤ x < 100, excluding [11,22,3…

Foundation框架: 5.常用结构体知识补充

前面我们已经把常用的四个结构体学完了, 知道怎么去创建怎么去使用了, 但还有一些小细节没有补充完, 下面让我们一起来看看吧: 例子: #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {// 用来比较两个点是否相同(x, y)BOOL p CGPointEqualT…

一幅长文细学node.js——一幅长文系列

文章目录1 Node.js概述1.1 初识Node.js1.2 Node.js简介1.3 Node.js安装1.4 使用Node.js运行JS代码2 fs文件系统模块2.1 读取文件2.2 写入文件2.3 路径问题3 Path路径模块3.1 Path模块概述3.2 路径拼接3.3 获取路径的文件名4 Http模块4.1 Http概述4.2 服务器相关的概念4.3 创建W…