草庐IT

HADOOP_NAMENODE_OPTS

全部标签

java - Hadoop MapReduce 小文件内存不足

我正在针对Hadoop上大约300万个小文件运行MapReduce作业(我知道,我知道,但我们对此无能为力-这是我们源系统的性质)。我们的代码没有什么特别的-它使用CombineFileInputFormat将一堆这些文件包装在一起,然后解析文件名以将其添加到文件的内容中,并吐出一些结果。简单易行。因此,我们在HDFS中有大约300万个~7kb的文件。如果我们针对这些文件的一小部分(一个文件夹,可能有10,000个文件)运行我们的任务,我们不会遇到任何麻烦。如果我们针对完整的文件列表运行它,则会出现内存不足错误。错误出现在STDOUT上:##java.lang.OutOfMemoryE

hadoop - 如何在不使用 Cloudera 管理器的情况下在 100 节点集群上安装 Cloudera CDH?

如何在不使用Cloudera管理器的情况下在100节点集群上安装ClouderaCDH?在集群中的每个节点上手动安装和配置CDH是一项艰巨的任务。使用哪些工具和技术来自动化生产中的任务? 最佳答案 CDH支持基于Parcel和基于Package的安装。如果您愿意,可以使用Puppet/Chef这些类型的配置管理工具来进行基于包的安装。但是,推荐的方式是使用ClouderaManager进行基于Parcel的安装。ClouderaManager提供了许多OOTB功能,包括监控、配置版本控制、基于向导的安全配置、滚动升级等。如果您不使用

hadoop - hive中外键关系的实现

我试图创建一个与另一个表具有外键关系的配置单元表,但我遇到了错误。不是可以在hive表中实现外键关系吗? 最佳答案 hive没有实现外键引用HadoopTutorials描述如下:LikeanyotherSQLengines,wedon'thaveanyprimarykeysandforeignkeysinHiveashiveisnotmeanttoruncomplexrelationalqueries.It'susedtogetdataineasyandefficientmanner.Sowhiledesigninghivesch

hadoop - Hive:如何构建 UDTF?

我根据教程制作了自己的UDTF函数,并将jar加载到配置单元中。现在我想创建自己的函数来调用UDTF。statement.executeUpdate("ADDJAR/home/hfu/myjar.jar;");statement.executeUpdate("CREATETEMPORARYFUNCTIONmy_functionAS'com.effectivemeasure.hive.UDFT'");当我运行最后一个CodeSnippet时出现异常:Exceptioninthread"main"java.sql.SQLException:Errorwhileprocessingstate

Hadoop心跳和 block 报告时间间隔

数据节点向名称节点发送心跳和block报告以及任务跟踪器向作业跟踪器发送心跳和block报告后多少秒? 最佳答案 来自Apachedocumentation,它提供HDFS属性,dfs.heartbeat.interval默认值为3,以秒为单位确定数据节点心跳间隔。dfs.blockreport.intervalMsec默认值为21600000,以毫秒为单位确定block报告间隔。看看上面article了解各种HDFS属性。 关于Hadoop心跳和block报告时间间隔,我们在Stack

java - Amazon EMR 中的 org.apache.hadoop.mapred.FileAlreadyExistsException

我正在尝试在AmazonEMR中运行WordCount程序,但我收到错误消息:Exceptioninthread"main"org.apache.hadoop.mapred.FileAlreadyExistsException:Outputdirectorys3://mywordcountbuckett/run0alreadyexistsatorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)atorg.apache.hadoop.mapre

Hadoop:如何在同一个作业中输出不同的格式类型? (第二部分)

我想使用MultipleOutputs在同一个reducer中写入压缩和未压缩的文件,但它似乎是全有或全无。如果我这样做:MultipleOutputs.addNamedOutput(job,"ToGzip",TextOutputFormat.class,NullWritable.class,Text.class);TextOutputFormat.setCompressOutput(job,true);TextOutputFormat.setOutputCompressorClass(job,GzipCodec.class);它将压缩所有内容,而不仅仅是我想要的文件。如果你看这个非常

hadoop - M/R 作业提交失败,错误为 : Could not find Yarn tags property > (mapreduce. job.tags)

我在运行map/reduce作业时遇到以下异常。我们通过oozie提交map/reduce作业。FailingOozieLauncher,Mainclass[org.apache.oozie.action.hadoop.JavaMain],main()threwexception,CouldnotfindYarntagsproperty(mapreduce.job.tags)java.lang.RuntimeException:CouldnotfindYarntagsproperty(mapreduce.job.tags)atorg.apache.oozie.action.hadoop

hadoop - 在java代码中找到hive-site.xml的位置

我想在我的java程序中传递hive-site.xml文件的位置。在java代码中自动找出此文件位置的最佳方法是什么?我不想硬编码到/etc/hive/conf/hive-site.xml的路径以用于cloudera分发 最佳答案 默认情况下,HadoopConfiguration构造函数会在CLASSPATH中的目录中搜索“blahblah-site.xml”配置文件。如果它没有找到它们,那么它将恢复为硬编码的“默认”值,没有任何警告(!)。因此请确保CLASSPATH在前面包含适当的目录,例如/etc/hadoop/conf/:

Hadoop环境设置

我正在尝试在我的ubuntu15.4机器上安装hadoop,但每次都找不到Hadoop命令。我已经在hadoop/conf中配置了所有内容,我的.bashrc条目是:exportHADOOP_HOME=/opt/hadoopexportPATH=$PATH:$HADOOP_HOME/bin当我尝试echo$PATH时,结果是:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games它指向usr/local。我与这个位置无关。echo$HADOOP_HOME没有任何结果。如何解决这个问题? 最佳答案