Linux命令注释—HDFS运维
HDFS运维—命令注释
1 实验背景
HDFS是大数据其他组件的基础,Hive的数据存储在HDFS中,Mapreduce、Spark 等计算数据也存储在HDFS 中,HBase 的 region 也是存储在HDFS 中。在HDFS shell 客户端我们可以实现多种操作,如上传、下载、删除数据,文件系统管理等。掌握HDFS 的使用对我们更好的理解和掌握大数据大有裨益。
2 实验目的
- 掌握 HDFS 常用操作。
- 掌握 HDFS 文件系统管理操作。
3 实验步骤
- HDFS 常用操作
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] <path> ...]
[-cp [-f] [-p] <src> ... <dst>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] <localsrc> ... <dst>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-tail [-f] <file>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
步骤 1 help 命令
- 功能: 查看命令的帮助文档
- hdfs dfs -help
步骤 2 ls 命令
- 功能:显示目录信息
- hdfs dfs -ls /
步骤 3 mkdir 命令
- 功能:在 hdfs 上创建目录
在根目录的 user 文件夹下创建 stu01 文件夹,首先查看 user 下的内容,然后创建,再使用 ls命令查看,可以看到出现了 stu01 文件夹:
- hdfs dfs -mkdir /user/stu01
步骤 4 put 命令
- 功能:上传本地文件到 hdfs 指定目录,首先使用 vi 命令在 linux 本地编辑一份数据文件
- 输入命令 vim stu01.txt
步骤 5 cat 命令
- 功能:显示文件内容
- 输入命令: hdfs dfs -cat /user/stu01/stu01.txt
步骤 6 text 命令
- 功能:以字符形式打印一个文件的内容
- 输入命令:hdfs dfs -text /user/stu01/stu01.txt
步骤 7 moveFromLocal 命令
- 功能:从本地剪切粘贴到 hdfs
同理,使用 vi 命令在 linux 本地先创建一个数据文件,例如 stu01_2.txt,
- 输入命令:hdfs dfs -moveFromLocal stu01_2.txt /user/stu01/
注意:
- 可以看到 stu01_2.txt 文件已上传到 hdfs 文件系统的/user/stu01 目录下,并且使用 ls 命令查看
- linux 本地,stu01_2.txt 已不存在,证明是剪切粘贴到 hdfs 文件系统了。如果是 put 命令,linux 本地还存在,只是复制到 hdfs 系统。
步骤 8 appendToFile 命令
- 功能:追加一个文件到已经存在的文件末尾
首先,使用 vi 命令在 linux 本地编辑一份数据文件:stu01_3.txt,
- 输入命令:hdfs dfs -appendToFile stu01_3.txt /user/stu01/stu01_2.txt
把 stu01_3.txt 文件的内容追加到 hdfs 文件系统的 stu01_2.txt 文件里面去。
步骤 9 chmod 命令
- 功能:linux 文件系统中的用法一样,更改文件所属权限
使用 ls 命令可以查看到 hdfs 文件的权限:
使用 chmod 命令修改 stu01 文件夹的权限,
- 输入命令:hdfs dfs -chmod 755 /user/stu01/
步骤 10 chown 命令
- 功能:linux 文件系统中的用法一样,更改文件所属用户和用户组
首先在 hdfs 根目录下创建文件夹 stu01,使用 ls 命令可以查看属组:
注意:因为 root 用户无权限操作属组,需要切换到 admin 用户。
- 输入命令:su admin,切换admin 用户:
使用 chown 命令修改 stu01 文件夹的用户及用户组,
- 输入命令:hdfs dfs -chown -R hive:hive /stu01/
步骤 11 cp 命令
- 功能:从 hdfs 的一个路径拷贝 hdfs 的另一个路径
首先在 linux 本地使用 vi 命令编辑一份文件:stu01_4.txt ,然后用 put 命令上传到 hdfs 的根目
录下。
- 输入 cp 命令:hdfs dfs -cp /stu01_4.txt /user/stu01/
步骤 12 mv 命令
- 功能:在 hdfs 目录中移动文件
首先在 linux 本地使用 vi 命令编辑一份文件:stu01_5.txt ,然后用 put 命令上传到 hdfs 的根目
录下。
- 输入 mv 命令:hdfs dfs -mv /stu01_5.txt /user/stu01/
注意:可以看到/user/stu01 文件夹下已经有 stu01_5.txt 文件了,但是该文件在根目录下已经不存在,
被移走了。
步骤 13 get 命令
- 功能:等同于 copyToLocal,就是从 hdfs 下载文件到本地
首先删除 linux 本地的 stu01_5.txt 文件:
- 执行 copyToLocal 命令:hdfs dfs -copyToLocal /user/stu01/stu01_5.txt .
可以看到在 linux 本地已经有 stu01_5.txt 文件了。
注意:hdfs 命令最后的.,表示当前目录,如果指 定其他目录,就可以指定文件保存的路径。
步骤 14 getmerge 命令
- 功能:合并下载多个文件
执行 ls 命令,在/user/stu01/目录下有多个文件存在
- 执行命令:hdfs dfs -getmerge /user/stu01/* ./merge.txt */
可以看到当前目录下生成了一个 merge.txt 文件,里面的内容就是/user/stu01/下几个文件的合 集。
步骤 15 rm 命令
- 功能:删除 hdfs 文件或文件夹
- 执行命令:hdfs dfs -rm /user/stu01/stu01_5.txt
可以看到/user/stu01/目录下已经没有 stu01_5.txt 文件了。
步骤 16 df 命令
- 功能:统计文件系统的可用空间信息
- 执行命令:hdfs dfs -df -h /
步骤 17 du 命令
- 功能:统计文件夹的大小信息
- 执行命令:hdfs dfs -du -s -h /user/stu01
步骤 18 count 命令
- 功能:统计一个指定目录下的文件节点数量
- 执行命令:hdfs dfs -count -v /user/stu01
4 回收站使用
日常工作中,有时会误删文件。此时我们可以在 hdfs 的回收站中找到被误删的文件,回收站默认将被删除文件保存 7 天。例如误删了/user/stu01/stu01_5.txt 文件,此时 stu01_5.txt 文件被移动到回收站。
- 使用命令:hdfs dfs -ls /user/root/.Trash/Current/user/stu01/
可以查看到回收站中的 stu01_5.txt。
备注: 被删除数据默认保留 7 天
使用 mv 命令,将文件移动回/user/stu01/目录文件即可使用。
Linux命令注释—HDFS运维的更多相关文章
- Linux实战型企业运维工程师试题测评
Linux实战型企业运维工程师试题答案 作者:尹正杰 最近在网上看到了一套有意思的面试题,我们一起来看一下这些题怎么破吧,哈哈~我先放在这里,有时间了一起来看看.多学点东西终究是没有坏处的! ...
- Python Linux系统管理与自动化运维
Python Linux系统管理与自动化运维 前言 第1章Python语言与Linux系统管理1 1.1Python语言有多流行1 1.2Python语言为什么流行3 1.3Python语言有什么缺点 ...
- linux系列之常用运维命令整理笔录
目录 本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍 ...
- Linux下性能调试工具运维笔记
作为一名资深的linux运维工程师,为方便了解和追求服务器的高性能,如cpu.内存.io.网络等等使用情况,要求运维工程师必须要熟练运用一些必要的系统性能调试工具,liunx下提供了众多命令方便查看各 ...
- Linux实战型企业运维工程师试题
1.如何通过Linux配置一个局域网或者IDC机房上网网关,请给出步骤及命令?答:上网网关配置(1)开启内核转发:sed -i 's#net.ipv4.ip_forward = 0#net.ipv4. ...
- Linux Shell交互式自动化运维程序
Expect是Linux操作系统下的一个用来处理交互操作,系统默认是没有安装expect库,所以执行expect会提示找不到命令,需要手动安装,其它安装也比较简单,可以通过二进制源码包编译配置进行安装 ...
- Linux操作系统学习(运维必会)
Linux一切皆文件,最高权限的账户root. 1.开机登录 开机会启动很多进程,在Windows上叫"服务"(service),在Linux上叫做"守护进程" ...
- linux平台下server运维问题分析与定位
结合我工作中碰到的运维问题,总结一下Linux下server常见的运维问题以及定位方式.这里的server主要指自主开发的逻辑server,web srv因为通常采用通用的架构所以问题比较少. 逻辑s ...
- 基于Linux平台的自动化运维Devops-----之自动化系统部署
一.自动化运维的背景网站业务上线,需要运维人员在短时间内完成几百台服务器部署,包括系统安装.系统初始化.软件的安装与配置.性能的监控......所谓运维自动化,即在最少的人工干预下,利用脚本与第三方工 ...
随机推荐
- 字符串的sizeof长度及strlen长度
在C/C++中,字符串是以零('\0')结尾的.比如,对于下面的字符串: "hello" 在最后一个字符'd'后面,还有一个我们肉眼看不见的'\0'字符,作为该字符串的结束符.所 ...
- 个人项目 python实现
一. github地址:https://github.com/zjh1234562/WC 二 . PSP表格 PSP2.1 Personal Software Process Stages 预估耗时 ...
- 通过SOFA看Java服务端如何实现运行时的模块化
本文阅读时间大约7分钟. 今天我们谈谈SOFA模块化,首先看一段SOFA的介绍: SOFABoot是蚂蚁金服开源的基于Spring Boot的研发框架,它在Spring Boot的基础上,提供了诸如 ...
- ta和夏天一起来了
目录 ta和夏天一起来了 上半年,过去的就让去过去,遗憾的也别再遗憾. 下半年,拥有的请好好珍惜,想要的请努力去追. ta和夏天一起来了 转眼结束了2019的上半年,在这个月末, 季度末, 周末, ...
- MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制
一.SQL注入攻击 1.什么是SQL注入攻击 一些了解sql语法的用户,可以输入一些关键字 或合法sql,来导致原始的sql逻辑发生变化,从而跳过登录验证 或者 删除数据库 import pymysq ...
- springboot搭建dubbo+zookeeper简单案例
背景:只是自己使用单机版zookeeper搭建dubbo的一个学习案例,记录成功的过程 1.搭建zookeeper坏境 使用docker来构建环境 1.1 拉取镜像:docker pull zooke ...
- Odoo报表的report标签和报表格式定义
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826329.html 一:Report标签 report标签可用于定义一条报表记录.属性有: 1) ...
- IIS下配置Php+Mysql+zend的图文教程(完整版)
网上有很多关于PHP在IIS下配置的教程,但都是一些很理性化的东西,我从里面整理出来这个教程 发出来为了方便参考,,有什么问题也可以大家一起交流,,如果有什么不对的地方,请指正.. 下面的教程都是在w ...
- Linux操作系统的日志管理之rsyslog实战案例
Linux操作系统的日志管理之rsyslog实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志介绍 1>.什么是日志 历史事件: 时间,地点,人物,事件 日志级 ...
- PHP实例:获取操作系统、IP、地理位置、浏览器、等信息
获取访客操作系统以及浏览器语言 <?php function GetBrowser(){ if(!empty($_SERVER['HTTP_USER_AGENT'])){ $br = $_SER ...