草庐IT

hdfs_clusters

全部标签

hadoop - 我们可以在 hdfs 中压缩目录吗?

我在想是否可以在hdfs上压缩一个目录,然后将其带到本地系统。有办法做到这一点吗?如有任何帮助,我们将不胜感激。谢谢。 最佳答案 您可以创建一个Hive表并在设置以下属性后进行插入覆盖:setmapred.output.compress=true;sethive.exec.compress.output=true;setmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;setio.compression.codecs=org.apache.

Bash脚本上传文件到hdfs

我正在尝试创建一个bashscript以将文件从本地边缘节点文件系统上传到hdfs。我想知道在文件中添加时间戳的好方法。在让时间戳工作时遇到一些问题。#!/bin/bashechoRunninguploadscripttohdfs...timestamp(){date+"%T"}hdfsdfs-put/home/myname/folder1/*/user/myname/example_1_$(timestamp).txthdfsdfs-put/home/myname/folder2/*/user/myname/example_2_$(timestamp).txt

shell - 检查 hdfs 中的文件大小

我可以使用以下命令检索hdfs文件的大小:hadoopfs-du-s/user/demouser/first/prod123.txt|cut-d''-f1给我的输出为82(以字节为单位)。现在我只想将这个文件与另一个文件合并,前提是它的大小小于100MB。我正在使用shell脚本将所有这些命令写入一个文件中。如何将其转换为MB,然后比较大小?有什么具体的命令吗? 最佳答案 只需使用:hdfsdfs-du-h/path/to/file我通过复制您的命令在我的集群上尝试了同样的操作。唯一可能的错误是您正在使用hadoopfs,只需使用h

hadoop - 太多获取失败 : Hadoop on cluster (x2)

上周左右我一直在使用Hadoop(试图掌握它),尽管我已经能够设置多节点集群(2台机器:1台笔记本电脑和一台小型台式机)并检索结果,当我运行hadoop作业时,我似乎总是遇到“太多的获取失败”。一个示例输出(在一个简单的wordcount示例中)是:hadoop@ap200:/usr/local/hadoop$bin/hadoopjarhadoop-examples-0.20.203.0.jarwordcountsitasita-output3X11/05/2015:02:05INFOinput.FileInputFormat:Totalinputpathstoprocess:711/

java - 基于HADOOP_HOME自动加载HDFS Configuration?

我正在开发一个Java程序来与已经运行的hadoop集群交互。该程序已将HADOOP_HOME作为环境变量传递给它。基于这个值,我需要在开始与HDFS/MapReduce交互之前加载所有必要的配置资源。我认为我需要的文件基于apachedocumentation.我当前的解决方案如下所示:finalStringHADOOP_HOME=System.getEnv("HADOOP_HOME");Configurationconf=newConfiguration();conf.addResource(newPath(HADOOP_HOME,"src/core/core-default.xm

hdfs分布式文件系统 默认数据存放路径、及相关配置属性详细解析

hdfs默认数据存放路径1.默认存放路径:{hadoop.tmp.dir}=/tmp/hadoop-${user.name}即:$>/tmp/hadoop-hyxy,注意:/tmp是临时存放文件的路径,但是有时候系统重启,或者数据量太大的时候,系统会删除里面某些数据,因此一般会修改路径到当前用户目录下:即:$>/home/hyxy/tmp/hadoop理解格式化:理解格式化的含义{创建dfs/name/fsimage和edit文件,针对namenode的守护进程}开启namenode进程会失败:失败的原因是:我们在core-site.xml修改了tmp路径:【/home/hyxy/tmp/ha

hadoop - 将 hdfs 目录从全分布备份到本地目录?

我正在尝试将目录从hdfs备份到本地目录。我有一个在ec2上运行的hadoop/hbase集群。我设法在我的本地机器上以伪分布式的方式运行我想做的事情,但现在我已经完全分布式了,同样的步骤都失败了。这是适用于伪分布式的方法hadoopdistcphdfs://localhost:8020/hbasefile:///Users/robocode/Desktop/这是我在ec2上的hadoopnamenode(hbasemaster)上尝试的ec2-user@ip-10-35-53-16:~$hadoopdistcphdfs://10.35.53.16:8020/hbasefile:///

hadoop - 远程访问HDFS出现异常,求助~~

最近开始使用hadoop。现在我想从一个没有安装hadoop-client的远程主机访问hdfs,只是依赖hadoop-client-2.0.4-alpha.jar。但是当我尝试访问hdfs时,出现以下异常:java.io.IOException:Failedonlocalexception:com.google.protobuf.InvalidProtocolBufferException:Messagemissingrequiredfields:callId,status;HostDetails:localhostis:"webserver/127.0.0.1";destinati

hadoop - 为什么 Map 任务输出写入到本地磁盘而不是 HDFS?

我正在准备考试,这是讲义中的一个问题:WhyMaptasksoutputsarewrittentothelocaldiskandnottoHDFS?这是我的想法:减少网络流量的使用,因为reducer可能与输出在同一台机器上运行,因此不需要复制。不需要HDFS的容错能力。如果作业中途终止,我们总是可以重新运行maptask。还有哪些可能的原因?我的回答合理吗? 最佳答案 你的推理是正确的。但是我想补充几点:如果map输出写入hdfs会怎么样。现在,写入hdfs不像写入本地磁盘。这是一个更复杂的过程,namenode确保至少将dfs.

hadoop - HDFS LeaseExpiredException

我有一个应用程序,它应该将大量文件从S3等源复制到HDFS。该应用程序在内部使用apachedistcp,并通过流式传输将每个单独的文件从源复制到HDFS。每个单独的文件大约1GB,有1K列字符串。当我选择复制所有列时,写入失败并出现以下错误:-2014-05-2023:57:35,939WARNorg.apache.hadoop.hdfs.DFSClient:ErrorRecoveryforblocknullbaddatanode[0]nodes==null2014-05-2023:57:35,939WARNorg.apache.hadoop.hdfs.DFSClient:Could