草庐IT

hdfs_clusters

全部标签

hadoop - 增量更新 HDFS 上的数据

我们正在使用Sqoop将数据从各种来源(例如Oracle、Teradata)复制到HDFS。我们使用增量更新功能来“导入”新数据,然后将其与现有数据“合并”。数据首先填充到一个临时目录中,然后我们“删除”旧目录并“重命名”新目录。问题是,如果用户在我们交换目录时使用Hive等工具对HDFS上的数据运行查询,查询将异常终止。有没有更好的方法来处理HDFS上的更新?(请注意,尽管HBase保留不同的版本,但它对我们不起作用,因为我们想按任何列进行查询。在不按主键搜索的情况下,HBase非常慢。) 最佳答案 Hadoop并不是为那样工作而

java - 将数据并行加载到 hdfs

我有一个由3个节点组成的Hadoop集群。我想尽快将一个180GB的文件加载到HDFS中。我知道-put和-copyFromLocal都不会在这方面帮助我,因为它们是单线程的。我在考虑Map/Reduce。有没有办法将加载过程分发给节点本身。所以每个节点都会加载文件的一部分,比如每个60GB。我不想从每个节点手动执行此操作(这违背了目的)。如果有办法使用Java和Map/Reduce来做到这一点,我很乐意阅读它。我知道Hadoop可以处理通配符输入文件。假设每个60GBblock的名称如下:file_1、file_2、file_3..然后我可以将file_*用于我的下一个MR作业。我遇

hadoop - 与 HDFS 通信 : Exception in thread "main" java. io.IOException : Failed on local exception: java. io.EOFException

publicstaticvoidmain(String[]args)throwsIOException{Configurationconf=newConfiguration();conf.addResource(newPath("/home/myname/hadoop-1.2.1/conf/core-site.xml"));conf.addResource(newPath("/home/myname/hadoop-1.2.1/conf/hdfs-site.xml"));System.out.println("AttemptinginitializationofFileSystem");

ubuntu - 无法使用 Hadoop-Fuse 挂载 HDFS

我有一个在AWSEC2上运行的2节点Hadoop集群。我正在尝试将HDFS安装在不同的EC2实例上。客户端运行的是Ubuntu12.04.4LTS,我已经安装了Hadoop-Fuse。#apt-cachepolicyhadoop-0.20-fusehadoop-0.20-fuse:Installed:0.20.2+923.479-1~maverick-cdh3Candidate:0.20.2+923.479-1~maverick-cdh3Versiontable:***0.20.2+923.479-1~maverick-cdh30500http://archive.cloudera.c

hadoop - HDFS 中的 block 是否有存储在 Hadoop 中的字节偏移信息?

假设我有一个300MB的文件。block大小为128MB。所以输入文件被分成以下几个block并放在HDFS中。Block1:128MBBlock2:128MBBlock3:64MB.现在每个block的数据中是否包含字节偏移量信息。也就是说,block是否具有以下偏移量信息?Block1:0-128MBofFileBlock2129-256MBofFileBlock3:257MB-64MBoffile如果是这样,我如何在Hadoop中获取Block2的字节偏移信息(即它从129MB开始)。这仅用于理解目的。是否有任何hadoop命令行工具可以获取此类有关block的元数据?编辑如果字

hadoop - PigLatin 无法从 hdfs 读取文件

我正在按照其在线手稿尝试Pig演示代码。首先,我创建了一个名为myfile.txt的测试文件。它包含两行中的六个整数:453123使用hadoopfs-copyFromLocalmyfile.txt/user/myfile.txt将文件放入hdfs然后我跑A=LOAD'/user/myfile.text';DUMPA;但是得到如下错误信息:2014-10-0814:15:54,259[main]INFOorg.apache.pig.tools.pigstats.ScriptState-Pigfeaturesusedinthescript:UNKNOWN2014-10-0814:15:5

hadoop - 如何在 Solr 中索引 HDFS pdf 文件?

hadoopjarjobjar/hadoop/hadoop-lws-job-1.2.0-0-0.jarcom.lucidworks.hadoop.ingest.IngestJob-Dlww.commit.on.close=true-DcsvFieldMapping=0=id,1=text-clscom.lucidworks.hadoop.ingest.CSVIngestMapper-chdp1-i/user/solr/data/csv/mydata.csv-ofcom.lucidworks.hadoop.io.LWMapRedOutputFormat-shttp://localhost

hadoop - 如何在Cloudera上挂载HDFS?

我在一个运行Cloudera5.3的集群上工作,我已经按照所有说明创建了一个NFS网关并且它运行良好。我的问题是我仍然无法将HDFS目录视为Linux文件系统的一部分(这是RHEL6)。我不是UNIX管理员,所以我没有挂载目录的经验,而且我在网上找到的文档对解决这个特定问题没有帮助。我试过简单的mount/在作为NFS网关的机器上,但这没有用。当我尝试从另一台集群机器使用挂载时mount://我在网关服务器和HDFS中都看不到任何文件(尽管我可以使用hdfsdfs-ls轻松查看这些文件)。既然已经设置了NFS,我该如何实际将HDFS挂载为目录? 最佳答案

java - 配置pentaho的hdfs-vfs来获取hdfs-site.xml

我刚开始使用Pentaho'sHDFSVFS并且对这个项目了解不多。我正在尝试从外部位置读取我的Hadoop配置文件。这似乎适用于除hdfs-site.xml之外的所有文件.尝试通过PentahoHDFSVFS项目与HDFS通信时,故障发生在VFS层。我的直觉告诉我pentaho正在通过一些环境变量或其他外部指针读取这个文件,但我似乎无法在他们的源代码中找到它。当我手动将hdfs-site.xml文件放入已编译的war时一切正常文件,但这对我来说不够,因为我需要将此文件放在外部位置,以便其他进程可以更改它。有没有人处理过这个问题?有人可以让我知道如何告诉pentaho从哪里获取这个文件

java - 强制 HDFS globStatus 跳过它没有权限的目录

所以我需要从HDFS收集大量目录,它们本身包含子目录,并且我希望能够使用globStatus。我的路径模式基本上是这样的:"/directory/*/{opt1,opt2}/{opt1,opt2,opt3}*"不幸的是,对于*捕获的某些目录,我没有执行权限(无法查看内容),但glob试图查看内部,导致异常。有什么方法可以请求glob跳过它没有权限的目录,而不是完全失败?我知道还有其他方法可以实现相同的目标,但据我所知,它会更复杂,而且我认为需要向HDFS发出更多请求,而不是简单的glob。 最佳答案 回答这个问题以防其他人遇到这个问