草庐IT

hdfs_clusters

全部标签

hadoop - 如果这些 API 仅使用本地文件系统路径,如何在 hadoop 中使用第三方 API 从 hdfs 读取文件?

我有很大的mbox文件,我正在使用像mstor这样的第三方API来使用hadoop解析来自mbox文件的消息。我已经将这些文件上传到hdfs中。但问题在于此API仅使用本地文件系统路径,类似于下图MessageStoreApistore=newMessageStoreApi(“filelocationinloclfilesystem”);我无法在此API中找到将从stream初始化的构造函数。所以我无法读取hdfs流并对其进行初始化。现在我的问题是,我是否应该将文件从hdfs复制到本地文件系统并从本地临时文件夹对其进行初始化?这就是我现在一直在做的事情:目前我的map功能接收mbox文

hadoop hdfs 从 cdh3 迁移到 cdh4

我有两个hadoop集群,我的目标是使用hadoop-cp将所有hdfs文件从cluster1复制到cluster2集群1:Hadoop0.20.2-cdh3u4集群2:Hadoop2.0.0-cdh4.1.1现在,即使只是在cluster2上远程对cluster1运行dfs-ls命令,如下所示:hadoopfs-lshdfs://cluster1-namenode:8020/hbase我遇到异常:ls:因本地异常而失败:java.io.IOException:响应为空。;主机详细信息:本地主机是:“cluster2-namenode/10.21.xxx.xxx”;目标主机是:“clu

java - 在Configuration中设置HDFS的根目录

我有一个目录结构:/DIRfilesDIRusr我的HDFS在hdfs://db:123可用,所以我创建配置:configuration.set("fs.default.name","hdfs://db:123");那么所有的目录/路径都是相对于根的(/)。我创建了一个目录files,这是我想要保存所有文件的地方。我是否必须手动将/files/附加到代码中每个路径的开头,或者我是否可以创建配置:configuration.set("fs.default.name","hdfs://db:123/files");无需更改代码? 最佳答案

hadoop - hdfs将数据分布式存储在datanode中

我构建了HDFS(2个数据节点)。我将数据存储在HDFS的数据节点中。我想使用两个数据节点平衡存储数据。但是当我使用CLI(hadoopfs-put)时,我只存储了一个数据节点有没有人知道如何将数据准确地存储为两个单独的数据? 最佳答案 听起来你在问如何设置复制因子。如果你有2个数据节点,复制因子2将确保所有文件都存储在两个节点上。您可以在Hadoopconf目录中的hdfs-site.xml中进行设置。你想设置:dfs.replication2您还可以运行setrep命令来更改特定文件或目录的复制因子:hadoopfs-setre

java - 如何从现有的 Web 应用程序访问 HDFS(Hadoop 文件系统)

我已经在我的集群上安装了hadoop1.0.4,有1个主服务器和3个从服务器,现在我想通过我的Web应用程序访问我的HDFS文件系统,以存储和访问现有Web应用程序的数据。由于我的Web应用程序目前使用MySQL作为数据库,我想用HDFS替换它。那么可以使用什么,以便我能够通过现有的Web应用程序访问HDFS?出于后端数据迁移的目的,我正在使用sqoop和flume,但我希望应用程序与HDFS进行实时同步。因为我从网页保存的应该直接到HDFS,而我要搜索的应该直接来自HDFS。请提出建议。提前致谢。 最佳答案 这就像用橙子代替苹果。

java - 如何计算 MR 作业中 HDFS 中的文件数?

就此而言,我是Hadoop和Java的新手。我正在尝试从我正在编写的MapReduce驱动程序计算HDFS上文件夹中的文件数。我想在不调用HDFSShell的情况下执行此操作,因为我希望能够传入我在运行MapReduce作业时使用的目录。我尝试了很多方法,但由于我对Java的经验不足,都没有成功实现。如有任何帮助,我们将不胜感激。谢谢,游牧。 最佳答案 您可以只使用文件系统并遍历路径内的文件。这是一些示例代码intcount=0;FileSystemfs=FileSystem.get(getConf());booleanrecurs

hadoop - 当文件大于 HDFS block 大小时获取无法寻求 java 异常

所以当我想处理一个大于我的hdfsblock大小(64mb)的文件时,出现以下异常:2013-05-3101:49:46,252WARNorg.apache.hadoop.mapred.Child:Errorrunningchildjava.io.IOException:Can'tseek!atorg.apache.hadoop.hdfs.HftpFileSystem$3.seek(HftpFileSystem.java:359)atorg.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:37)atorg.a

hadoop - 文件损坏时的 HDFS 行为

我在cloudera考试中找到样题,我相信答案是D。同意??问题1您使用hadoopfs-put命令将sales.txt添加到HDFS。该文件足够小,可以放入一个block中,该block被复制到集群中的三个节点。在这些节点之一发生故障后,集群何时以及如何处理复制?A.集群将不会尝试重新复制此block。B.该block将立即重新复制,并且集群上的所有其他HDFS操作将在此过程中停止。C.在管理员手动删除并重新创建文件之前,该block将保持复制不足状态。D.在NameNode根据从DataNode接收到的block报告确定其复制不足后,该文件将自动重新复制。

Hadoop HDFS 命令 - 重命名目录

在HDFS中重命名目录的最佳方法是什么?比如有2个文件夹A和B,每个文件夹都有10000多个文件。我想将B重命名为A,将A重命名为X。这可以通过mv命令实现吗?在这种情况下,幕后会发生什么(只是重命名或复制并删除)? 最佳答案 这只是发生的重命名。将所有数据block全部复制过来是非常昂贵的。相反,它只会重命名目录并更新Namenode元数据。 关于HadoopHDFS命令-重命名目录,我们在StackOverflow上找到一个类似的问题: https://s

java - 将文件从 HDFS 复制到 Windows 机器时出错

有一个安装并运行着Hadoop的Linux虚拟机。在Eclipse中运行的Java应用程序可以从HDFS检索数据。如果我在VM内将文件复制到HDFS或从HDFS复制文件,一切正常。但是当我从我的Windows物理机上运行该应用程序时,我遇到了下一个异常:WARNhdfs.DFSClient:Failedtoconnectto/127.0.0.1:50010forblock,addtodeadNodesandcontinue.java.net.ConnectException:Connectionrefused:nofurtherinformation.CouldnotobtainBP-