hadoop shell 操作复制

hadoop fs
 列出所有的命令
hadoop fs -help ls
 列出某个命令的详细信息
hadoop dfs -mkdir /data/weblogs
hadoop dfs -mkdir /data/dir1 /data/dir2 ...
 创建文件夹,可以递归创建,可同时创建多个目录
echo "Hello world" > weblog_entries.txt
 创建新的本地文件(无则新建)
hadoop fs -copyFromLocal weblog_entries.txt /data/weblogs
hadoop fs -put weblog_entries.txt /data/weblogs,put可以对整个文件夹进行复制(1.0版之后)
 从本地文件系统复制数据到hdfs上
hadoop dfs -ls /data/weblogs
 列出文件夹下的文件信息
hadoop dfs -cat /data/weblogs/*
hadoop dfs -cat /data/weblogs/* | head -1
hadoop dfs -cat /data/weblogs/* | tail -1
 查看文件内容
hadoop dfs -copyToLocal /data/weblogs/* /
hadoop dfs -get /data/weblogs/* /
hadoop dfs -getmerge /data/weblogs/* /合并后的文件名称 (可将多个文件合并成一个文件下载到本地,其中合并后的文件名称需要指定)
hadoop dfs -get -ignorecrc .....       复制到本地时不进行数据校验(CRC),一般是在数据损坏时复制损坏的数据到本地才使用的
hadoop dfs -get -crc ....复制数据,同时复制crc校验文件
 从hdfs复制文件到本地
 需保证本地文件系统空间可用,和网络传输速度
 几十个TB的数据,传输速率为1Gbit,消耗23个小时
 get无法完成对整个文件夹的复制,put在1.0之后可以完成
-----
原理:
fs FileSystem,各个命令对应这个类的不同方法
默认系统为core-site.xml配置的fs.default.name这个属性,如hdfs://hostname:9000即默认使用hdfs系统,也就是hadoop fs和hadoop dfs是一样的。

mapreduce输出文件的个数,是由mapred.reduce.tasks的值决定的,可在编程时通过job.setNumReduceTasks(int num)来进行设置,这是客户端参数,非集群参数,对不同的job设置不同的reduce个数。
 默认值为1
 推荐两个数:
 0.95*集群中datanode个数*mapred.tasktracker.reduce.tasks.maximum(配置每个jobtracker可使用的reduce的插槽最大个数)
 或者
 1.75*集群中jobtracker个数*mapred.taskreacker.reduce.tasks.maximum
 原因:
 0.95可保证在map结束后可立即启用所有的reduce进行map结果的处理,只需要一波就可以完成作业。
 1.75 使得运行快的reduce能够再次执行第二波的reduce,保证两拨reduce就能完作业,使作业整体的负载均衡。
 
 
--使用pig演示getmerge
首先创建文件test,内容为
1 hello
2 world
3 url
4 test
5 haha
上传到hdfs的/data/weblogs目录下

test.pig脚本内容
weblogs = load ‘/data/weblogs/*‘ as
(
        md5:chararray,
        url:chararray
);#默认分割方式为tab
md5_grp = group weblogs by md5 parallel 4;#依据md5进行分组,同时设置reduce个数为4
store md5_grp into ‘/data/weblogs/md5_group.bcp‘; #设置reduce的输出目录,此目录下将包含4个reduce输出文件

-----
使用getmerge命令合并reduce的四个输出文件,下载到本地
hadoop dfs -getmerge /data/weblogs/md5_group.bcp 本机文件名(一定要指定文件名)

hadoop shell 操作复制

时间: 2024-10-01 12:50:33

hadoop shell 操作复制的相关文章

Hadoop的Shell操作

Hadoop shell命令操作,输入hadoop回车后可以发现如图所示: 常用的命令有: hadoop namenode -format 这个是启动Hadoop之前格式化文件系统时使用的命令. hadoop dfsadmin 这是Hadoop的管理命令,我们输入hadoop dfsadmin回车后可以看到详细命令如下图: hadoop dfsadmin常用的命令有: 1):hadoop dfsadmin -report 查看Hadoop的运行状态 2):hadoop dfsadmin -saf

Hadoop大象之旅009-通过Shell操作hdfs

Hadoop大象之旅009-通过Shell操作hdfs 老帅 调用Hadoop分布式文件系统(HDFS)Shell命令应使用bin/hadoop fs <args>的形式. 1.查看hdfs都有哪些Shell命令 参照前面章节中所述方法,使用SecureCRTPortable.exe登录CentOS; 使用命令"hadoopfs"查看hdfs的命令列表,如下图所示: hdfs的所有命令的格式,都为:hadoop fs –xx,具体使用方法,可参考官方文档: http://h

Hadoop学习笔记_5_分布式文件系统HDFS --shell操作

分布式文件系统HDFS --shell操作 分布式文件系统[Distributed File System]概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 分布式文件系统特点: 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般

Hadoop学习Day8---HDFS 的shell 操作

一.HDFS的shell命令简介 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名等.对HDFS 的操作命令类似于lLinux 的shell 对文件的操作,如ls.mkdir.rm 等.我们在执行HDFS的shell操作的时候,一定要确定hadoop 是正常运行的,我们可以使用使用jps 命令确保看到各个hadoop 进程.我们可以执行命令hadoop fs,来查看HDFS的shel

Hadoop读书笔记(二)HDFS的shell操作

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1所有的HDFS shell操作命名可以通过hadoop fs获取: [[email protected] ~]# hadoop fs Usage: java FsShell [-ls <path>] [-lsr <path>] [-du <path>] [-dus <path>

hadoop学习二:hadoop基本架构与shell操作

1.hadoop1.0与hadoop2.0的区别: hadoop1.0生态如下图: hadoop2.0生态: 2.HDFS描述:HDFS是google的GFS的开源克隆,HDFS的架构如下图: 1) NameNode:管理HDFS的名称空间,管理数据块映射信息,配置副本策略,处理客户端读写请求. 2) StandbyNameNode:NameNode的热备,定期合并fsimage和fsedits,推送给NameNode,当Active NameNode出现故障时,快速切换为新的 Active N

Hadoop之HDFS(概述和Shell操作)

HDFS概述 HDFS组成架构 HDFS文件块大小   HDFS的Shell操作(开发重点) 1.基本语法 bin/hadoop fs 具体命令   OR  bin/hdfs dfs 具体命令 dfs是fs的实现类. 2.命令大全 $ bin/hadoop fs [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src> ...] [-chgrp [-

HDFS的基本shell操作

(1)分布式文件系统 随着数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 .它是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 而它最主要的特性就是通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般.即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失 分布式文件管理系

Hadoop shell

常用管理命令  Hadoop管理员的常用命令. 启动Hadoop 进入HADOOP_HOME目录. 执行sh bin/start-all.sh 关闭Hadoop 进入HADOOP_HOME目录. 执行sh bin/stop-all.sh balancer  运行集群平衡工具.管理员可以简单的按Ctrl-C来停止平衡过程.参考Rebalancer了解更多. 用法:hadoop balancer [-threshold <threshold>] 命令选项 描述 -threshold <thr