草庐IT

hdfs_rtp

全部标签

hadoop - distcp - HDFS 文件的访问执行权限错误

我正在两个不同的集群之间执行distcp。我是有选择地这样做的,所以它是一个文件一个文件地进行的。两个集群中的权限是相同的。执行distcp的用户是相同的(在示例中命名为xxx)。我在复制时遇到问题,要求执行权限...文件!Causedby:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):Permissiondenied:user=xxx,access=EXECUTE,inode="/mypath/myfile":xxx:xxx:-rw-r--r--ator

java - 在 Sqoop 的情况下,映射器输出如何写入 HDFS?

据我了解HadoopMap-Reduce作业,映射器输出写入本地存储而不是HDFS,因为它最终是一次性数据,因此没有必要存储在HDFS中。但正如我所见,Sqoop映射器输出文件part-m-00000被写入HDFS。所以我怀疑Hadoop中是否有一些设置来控制映射器输出写入的位置?并且默认设置为本地存储? 最佳答案 如果没有缩减器,则映射器输出将写入HDFS。即使在这种情况下,映射器输出也不会直接写入HDFS,而是写入单个节点磁盘,然后复制到HDFS。Sqoop是一种场景,在这种情况下,它通常是仅映射作业,您希望从表中并行获取数据,

hadoop - 使用 Apache Spark 在 HDFS 中存储多个文件

我正在做一个涉及使用HDFS进行存储和使用ApacheSpark进行计算的项目。我在HDFS中有一个目录,其中有几个相同深度的文本文件。我想使用Spark处理所有这些文件,并将它们相应的结果存储回HDFS,每个输入文件有1个输出文件。例如-假设我有一个目录,其中包含1000个相同深度的文本文件。我正在使用通配符读取所有这些文件sc.wholeTextFiles(hdfs://localhost:9000/home/akshat/files/*.txt)然后我使用Spark处理它们并获得相应的RDD并使用保存它result.saveAsTextFile("hdfs://localhost

hadoop - hdfs中的mapper和reducer运行时日志在哪里?

当我的mapreduce作业完成后,我可以转到作业历史url并在其中查看单个reducer/mapper日志。但是,我有很多映射器和缩减器,我需要将它们全部下载到我的本地驱动器以进行分析。我不知道这些日志文件在hdfs中的位置。你知道它在哪里吗? 最佳答案 我想您需要的是一个unix命令:yarnlogs-applicationId应用程序ID在MR应用程序启动期间显示,例如...15/07/1310:52:23INFOinput.FileInputFormat:Totalinputpathstoprocess:415/07/131

hadoop - 如何获取 hdfs 中的 hive 表输出或文本文件,在 hdfs 上创建了 .CSV 格式的 hive 表。

所以我正在处理的集群存在一种情况。什么都不能从集群中取出到linuxbox。建表文件为序列文件格式或文本格式。我需要将这些文件更改为CSV格式而不将它们输出到linuxbox,而且我可以从现有表创建表,如果可能的话可以将其存储为CSV文件。(我不确定我是否能做到)。我已经尝试了很多东西..但是除非我把它输出到linuxbox,否则做不到。感谢您的帮助。 最佳答案 您可以像这样创建另一个配置单元表:CREATETABLEhivetable_csvROWFORMATDELIMITEDFIELDSTERMINATEDBY','LINEST

java - 我是否达到了最大允许的 HDFS block 大小

我在单节点集群中运行Hadoop0.21.0来处理一个大于200GB的大文件。为了减少执行时间,我分别尝试了不同的HDFSblock大小(128、256、512MB、1、1.5、1.75GB)。但是,当使用block大小>=2GB时出现以下异常。注意:我使用的是java-8-oracle。2015-08-0512:02:12,524WARNorg.apache.hadoop.mapred.Child:Exceptionrunningchild:java.lang.IndexOutOfBoundsExceptionatorg.apache.hadoop.fs.FSInputChecker

hadoop - hadoop中的hdfs如何利用数据节点中 block 的空闲空间?

我的文件大小为10MB,我将其存储在hadoop中,但hdfs中的默认block大小为64MB。因此,我的文件使用了64MB中的10MB。HDFS将如何利用同一block中剩余的54MB空闲空间? 最佳答案 从逻辑上讲,如果您的文件小于block大小,HDFS会将该特定文件的block大小减小到文件的大小。所以HDFS只会使用10MB来存储10MB的小文件。它不会浪费54MB或留空。这里详细描述了HDFS的小文件:http://blog.cloudera.com/blog/2009/02/the-small-files-proble

hadoop - 无法将文件写入 hdfs - 在安全模式下出现错误 hdfs

当我尝试将文件从我的本地目录复制到HDFS时,出现以下错误:[cloudera@localhost~]$hadoopfs-copyFromLocalhello.txt/user/cloudera/my_datacopyFromLocal:Cannotcreatefile/user/cloudera/my_data/hello.txt._COPYING_.Namenodeisinsafemode.然后我执行了命令:[cloudera@localhost~]$suPassword:[root@localhostcloudera]#hdfsdfsadmin-safemodeleavesafe

hadoop - Apache pig : How to load a sequence file which is stored in hdfs?

我的序列文件直接存储在hdfs例如:grunt>lsgrunt>ls/blablahdfs://namenode1:54310/blabla/0411f03a-db7f-48d0-9542-5203304e3e81.seq185284523hdfs://namenode1:54310/blabla/05be8fc0-e967-42e1-b76a-0d7108a69d17.seq201489688hdfs://namenode1:54310/blabla/06222427-519c-49c0-bbbf-49a9f43bbd13.seq196858576hdfs://namenode1:5

java - 无法从 Windows 连接到远程 HDFS

我正在尝试连接到远程HDFS实例Configurationconf=newConfiguration();conf.set("fs.defaultFS","hdfs://hostName:8020");conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");FileSystemfs=FileSystem.get(conf);RemoteIteratorri=fs.listFiles(fs.getHomeDirectory(),false);while(ri.hasNext()){LocatedFil