最近需要在hadoop上跑一些数据,顺便学习下hadoop相关的东西。hadoop其实就是一个分布式计算的解决方案,它可以由以下两部分组成:
hadoop=HDFS(文件系统,数据存储相关技术)+Mapreduce(数据处理)两部分组成,
按照我的理解,hadoop其实就是存储和计算这两部分组成,我们需要将大量的数据通过
HDFS文件系统进行存储,然后我们需要对这些大量的数据进行计算,而存储这些大量的
数据通过我们传统的一台计算机肯定不可能完成,所以我们需要借助于成百上千台机器,
我们将大数据存储到这些机器上,但我们看到的是一个文件系统,而不是很多文件系统,
比如我们需要获取/hdfs/temp1的数据,我们虽然引用的是一个文件路径,但实际的数据
其实存放在很多的机器上,我们作为用户并不需要关心存储在哪些机器上,HDFS文件系
统帮我们进行了处理。
我们存下这么多数据以后,那我们该如何进行处理数据呢,单机处理肯定不可以接受,那
我们就需要合理的给机群分配工作任务,我们需要机群相互通信来交互数据,以便完成复
杂的计算,这个完成计算的功能就是mapreduce的功能。mapreduce是第一代计算引擎,
Tez和Spark是第二代,对于简单的处理来说,用mapreduce已经可以处理大数据领域很
大一部分问题了。,mapreduce采用了很简化的计算模型,只有map和reduce两个计算
过程(中间用Shuffle来串联)。
那什么是mapreduce呢,比如我们需要在hadoop的hdfs中,我们需要统计巨大的文本文
件,例如我们需要统计我们存储的大数据文本中“你好”出现的次数,我们启动mapreduce
程序时,进行计算的时候,我们的机群会进行工作,每台机器都有各自的分工,各自负
责各自的部分,假设三台机器A,B,C,他们各自统计到“你好”出现的次数为10,20,
30次,各自分工的阶段就是map阶段,最后将其进行汇总,出现“你好”的次数为60次,
这个汇总的过程就是reduce过程。
如果我们需要实时进行统计计算比如像微博24小时更新的时候,我们就需要另外一种计
算模型,他就是streaming(流)计算,流计算的思路就是,如果我要实现实时更新,
那我就可以在数据流进来的时候,我就是开始进行统计,但缺点是不灵活,我们需要
统计的东西我们必须事先知道。
因为是在工作中零时需要用到hadoop相关的一些知识,所以暂时进行了大概得了解,
并没有太深入了解,深入了解的话可以参考
https://chu888chu888.gitbooks.io/hadoopstudy/content/Content/chapter1.html和
https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html。里面涉及到了hadoop更
深层次的讲解以及包括安装等。
接下来介绍下工作中用到的部分hadoop在linux上的一些命令。
**fs**
用法:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]
它运行一个常规的文件系统客户端。搭配我们的shell命令来使用,shell命令包括:
cat
使用方法:hadoop fs -cat URI [URI …]
将路径指定文件的内容输出到stdout。
示例:
hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
hadoop fs -cat file:///file3 /user/hadoop/file4
返回值:
成功返回0,失败返回-1。
chgrp
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]
改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须
是文件的所有者或者超级用户。
chmod
使用方法:hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]
改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是
文件的所有者或者超级用户。
chown
使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须
是超级用户。
copyFromLocal
使用方法:hadoop fs -copyFromLocal <localsrc> URI
除了限定源路径是一个本地文件外,和put命令相似
copyToLocal
使用方法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
除了限定目标路径是一个本地文件外,和get命令类似。
cp
使用方法:hadoop fs -cp URI [URI …] <dest>
将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。
示例:
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
返回值:
成功返回0,失败返回-1。
du
使用方法:hadoop fs -du URI [URI …]
显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。
示例:
hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1
返回值:
成功返回0,失败返回-1。
expunge
使用方法:hadoop fs -expunge
清空回收站。
get
使用方法:hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-  crc选项
复制文件以及CRC信息。
示例:
hadoop fs -get /user/hadoop/file localfile
hadoop fs -get hdfs://host:port/user/hadoop/file localfile
返回值:
成功返回0,失败返回-1。
getmerge
使用方法:hadoop fs -getmerge <src> <localdst> [addnl]
接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本  地目标文
件。addnl是可选的,用于指定在每个文件结尾添加一个换行符
ls
使用方法:hadoop fs -ls <args>
lsr
使用方法:hadoop fs -lsr <args>
ls命令的递归版本。类似于Unix中的ls -R。
mkdir
使用方法:hadoop fs -mkdir <paths>
接受路径指定的uri作为参数,创建这些目录。
mv
put
使用方法:hadoop fs -put <localsrc> ... <dst>
从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取
输入写入目标文件系统。
hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile
hadoop fs -put - hdfs://host:port/hadoop/hadoopfile
从标准输入中读取输入。
返回值:
成功返回0,失败返回-1。
rm
rmr
test
使用方法:hadoop fs -test -[ezd] URI
选项:
-e 检查文件是否存在。如果存在则返回0。
-z 检查文件是否是0字节。如果是则返回0。
-d 如果路径是个目录,则返回1,否则返回0。
示例:
hadoop fs -test -e filenametouchz
使用方法:hadoop fs -touchz URI [URI …]
创建一个0字节的空文件。
示例:
hadoop -touchz pathname
返回值:
成功返回0,失败返回-1。
这些是hadoop的fs shell相关的命令。
**jar**
运行jar文件。用户可以把他们的Map Reduce代码捆绑到jar文件中,使用这个命令执行。
暂时只是用到这两个命令,后续用到更多再进行补充。

linux 中hadoop相关命令学习相关推荐

  1. Linux中磁盘存储相关命令

    du 命令 Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. **1.**命令格式: du [选项][ ...

  2. linux中文件系统相关命令,linux磁盘、文件系统相关命令介绍

    分区管理工具介绍 1. fdisk:列出指定磁盘设备上的分区情况 格式:fdisk -l [-u] [device...] fdisk device 子命令:管理功能 p: print, 显示已有分区 ...

  3. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  4. Python学习之旅:使用Python实现Linux中的ls命令

    一.写在前面 前几天在微信上看到这样一篇文章,链接为:https://mp.weixin.qq.com/s/rl6Sgv3uk_IpoFAx6cWa8w,在这篇文章中,有这样一段话,吸引了我的注意: ...

  5. linux cut命令学习,Linux中的cut 命令详解

    今天小编要跟大家分享的文章是关于Linux中的cut 命令详解.cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中.我们可以使用 cut 命令从一行字符串 ...

  6. Linux学习系列二:Linux中的常用命令

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  7. python中的ls是什么意思_Python学习之旅:使用Python实现Linux中的ls命令

    一.写在前面 在 Linux 中 ls 是一个使用频率非常高的命令了,可选的参数也有很多, 算是一条不得不掌握的命令.Python 作为一门简单易学的语言,被很多人认为是不需要认真学的,或者只是随便调 ...

  8. linux一条命令添加用户并设置密码,linux中如何通过命令行来添加用户并设置密码...

    linux中如何通过命令行来添加用户并设置密码 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 LINUX中如何通过命令行来添加用户 ...

  9. linux 用vi命令的使用以及vi编辑,Linux中vi编辑命令的使用

    在Linux中利用vi命令进行一个编辑的时候,相信很多操作的技巧你暂时还是没有学会的,在前面的文章中已经向大家介绍并且是有做演示了vi与vim文本编辑工具的使用,下面给大家的是在vi文本编辑器里面常用 ...

  10. Linux中的MAN命令

    学习Linux的同学,都会使用man来查阅一些命令的帮助信息,常见的使用方法就是"man 命令名称"这样简单的格式.本文就对man命令简要介绍一下. l man命令的章节 man就 ...

最新文章

  1. “大厂平均年龄 29.6 岁”:不是我们选择了年龄焦虑,是大厂焦虑了我们
  2. File类遍历(文件夹)目录功能
  3. PS批量修改照片大小
  4. 按钮交互loading ---- 转圈圈 加载
  5. Elasticsearch--分布式RESTful搜索引擎
  6. using filesort和using temporary
  7. linux vnc离线安装包,Linux之部署vnc应用
  8. spring 中scope的singleton和prototype区别
  9. jQuery_pager.js分页
  10. 紧急求助,CSDN帮忙下载HP惠普280G1增霸卡7.0UEFI版硬盘保护卡还原卡驱动光盘
  11. Red Bend与阿朗推LTE移动设备管理 使4G设备兼容OMA DM
  12. 云计算的特点,主要有哪些?
  13. 避免内容失去焦点_痛楚难以避免,而磨难可以选择
  14. H310C,B365,M.2 NVME SSD,USB3.0,安装 WIN7 64 位
  15. strut2的学习笔记
  16. jQuery(JavaScript类库)
  17. CSS3有趣的渐变色
  18. 如何利用无线技术有效预化工厂防爆炸事故?
  19. Python turtle画图库画姓名实例(Python入门)
  20. 洪恩机器人课程提示_洪恩儿童机器人

热门文章

  1. Typora实现标题居中,且放大
  2. JavaScript-单例模式
  3. C语言中表示温度符号,摄氏度符号怎么打(SCI论文中摄氏度°C符号的正确输法)...
  4. ue4 和 c4d 区别 以及日常理解
  5. Open Images Dataset Detection Labels(openimage 检测类别的中文翻译)
  6. USB 3.0 高清音视频采集芯片——MS2130
  7. 苹果x微信语音十秒就断_苹果手机微信语音没声音怎么回事?
  8. 【金融系列】使用Python分析债券,画零息利率曲线,对债券进行精确定价,计算债券的麦考利久期、修正久期和凸度,并进行价格敏感性分析
  9. 02组团队项目-Alpha冲刺-3/6
  10. 「PKUSC2018」最大前缀和 LOJ#6433BZOJ5369