草庐IT

ensure_dir_exists

全部标签

java - Apache Pig,抑制 "Output Location Validation Failed" "Output directory ... already exists"

在得到orangeoctopus的帮助后thisquestion,我现在需要抑制消息“输出位置验证失败”“输出目录......已经存在”。我知道目录存在,我想要那样。我很确定这将是覆盖我的存储UDF中的某些内容的问题,但我无法弄清楚是什么。对Java完全陌生,所以请多多包涵。提前致谢。 最佳答案 据我所知,您不能重复使用直接输出目录。Hadoop阻止了它。如果我理解正确的话,你正在处理每日日志,因此,我建议你设置一个名为输出的父输出目录,并将脚本中的输出目录设置为output/daily_date。

hadoop - "dfs.replication"和 "dfs.datanode.data.dir"配置如何在集群中工作?

我已按照Apache“单节点设置”说明在单节点上设置dfs.replication。但是后来我按照“ClusterSetup”进行操作,但它没有提到这个属性,所以我不知道这是要在Namenode上设置的属性,还是也/仅在Datanodes上设置的属性..我还读到在数据节点上的dfs.datanode.data.dir中设置多个(逗号分隔)路径将复制所有路径上的数据。所以我的问题是:dfs.replication将对哪个节点产生影响,如果dfs.datanode.data.dir的多个路径是设置,这些额外的独立复制是否仅针对每个数据节点,或者这些是否也以某种方式与dfs.replicat

hadoop - yarn.log.dir 在哪里定义的?

在yarn-default.xml对于ApacheHadoop3.0.0,它将yarn.nodemanager.log-dirs的默认值显示为${yarn.log.dir}/userlogs。yarn.log.dir在哪里定义的?它有默认值吗?我没有在任何默认配置(core-default.xml、hdfs-default.xml、mapred-default.xml、yarn-default.xml)中找到它。我没有在任何环境脚本(hadoop-env.sh、httpfs-env.sh、kms-env.sh、mapred-env.sh、yarn-env.sh)中找到它。同样让我感到困

hadoop - pig : Invalid field Projection; Projected Field does not exist

describefilter_records;这给了我以下格式:filter_records:{details1:(firstname:chararray,lastname:chararray,age:int,gender:chararray),details2:(firstname:chararray,lastname:chararray,age:int,gender:chararray)}我想显示details1和details2中的firstname。我试过这个:display_records=FOREACHfilter_recordsGENERATEdisplay1.first

java - Hadoop-伪分布式模式: Input path does not exist

我是Hadoop的新手..我只是以独立模式运行我的hadoop应用程序。它工作得很好。我现在决定将其移至伪分布式模式。我如上所述进行了配置更改。显示了我的xml文件的片段:我的core-site.xml如下所示:fs.default.namehdfs://localhost/hadoop.tmp.dir/tmp/hadoop-onurAbaseforothertemporarydirectories.我的hdfs-site.xml是dfs.replication1我的mapred.xml是mapred.job.trackerlocalhost:8021我运行了start-dfs.sh和

java - Hadoop使用Java递归地将fsPermission设置为dir

您好,我有一个测试程序,可以将文件加载到此路径user/user1/data/app/type/file.gz的hdfs中。现在这个测试程序由多个用户运行多次。所以我想给rwx设置文件权限,这样任何人都可以删除这个文件。我有以下代码fs.setPermission(newPath("user/user1/data"),newFsPermission(FsAction.ALL,FsAction.ALL,FsAction.ALL))上一行将drwxrwxrwx授予所有目录,但对于file.gz,它授予-rw-r--r--权限,为什么这样呢?由于这个原因,除我之外的另一个用户无法通过测试程序

hadoop - 在 hadoop 多节点集群设置中创建从作业日志到 ${hadoop.tmp.dir} 的符号链接(symbolic link)失败

当我在3节点集群hadoop中运行简单的wordcount示例时,出现以下错误。我检查了必要文件夹的所有写/读权限。此错误不会停止mapreduce作业,但所有工作负载都转到集群中的一台机器上,其他两台机器在任务到达时给出与上述相同的错误。12/09/1309:38:37INFOmapred.JobClient:TaskId:attempt_201209121718_0006_m_000008_0,Status:FAILEDjava.lang.Throwable:ChildErroratorg.apache.hadoop.mapred.TaskRunner.run(TaskRunner

hadoop - 使用 master 'yarn' 运行时,必须在环境中设置 HADOOP_CONF_DIR 或 YARN_CONF_DIR

我正在尝试使用yarn运行Spark,但我遇到了这个错误:线程“main”中的异常java.lang.Exception:当使用master'yarn'运行时,必须在环境中设置HADOOP_CONF_DIR或YARN_CONF_DIR。我不确定“环境”在哪里(具体是什么文件?)。我尝试使用:exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexportYARN_CONF_DIR=$HADOOP_HOME/etc/hadoop在bash_profile中,但这似乎没有帮助。 最佳答案 在使用Ya

hadoop - HDFS 错误 : target already exists

我是Hadoop的新手。当我尝试执行此命令时,它说目标已经存在。如何从hadoop中删除此文件?这与删除目标一样吗?me$hdfs-copyFromLocalmyfile.txtinput/myfile.txtcopyFromLocal:Targetinput/myfile.txtalreadyexists 最佳答案 您不必先删除文件再复制新文件。您可以将-f选项与-copyFromLocal一起使用,一步完成hadoopfs-copyFromLocal-fmyfile.txtinput/myfile.txt

hadoop - Spark 提交 YARN 方式 HADOOP_CONF_DIR 内容

我正在尝试在YARN模式下使用sparksubmit在hadoop集群上启动spark任务。我正在从我的开发机器上启动spark-submit。根据RunningSparkOnYARN文档,我应该在环境变量HADOOP_CONF_DIR或YARN_CONF_DIR上提供hadoop集群配置的路径。这就是它变得棘手的地方:如果我将任务发送到远程YARN服务,为什么这些文件夹必须存在于我的本地机器上?这是否意味着spark-submit必须位于集群内部,因此我无法远程启动spark任务?如果没有,我应该用什么填充这些文件夹?是否应该从任务管理器服务所在的YARN集群节点复制hadoop配置