草庐IT

hdfs_rtp

全部标签

hadoop - 如果没有在hdfs-site.xml中定义,namenode和datanode安装在哪里?

我的hdfs-site.xml只有以下内容:dfs.replication1问题。NameNode和DataNode安装在哪里?我在装有Windows10的MSFTSurface笔记本电脑上使用Hadoop3.0.3版本。 最佳答案 在hdfs-default.xmldfs.datanode.data.dir默认值为file://${hadoop.tmp.dir}/dfs/data和dfs.namenode.name。目录file://${hadoop.tmp.dir}/dfs/name并且在core-default.xmlhado

python - 无法从 Python 脚本中的 HDFS 访问目录

我有以下python脚本(我设法在本地运行它):#!/usr/bin/envpython3importfolderstatsdf=folderstats.folderstats('hdfs://quickstart.cloudera.8020/user/cloudera/files',hash_name='md5',ignore_hidden=True)df.to_csv(r'hdfs://quickstart.cloudera.8020/user/cloudera/files.csv',sep=',',index=True)我在该位置有目录:"file"。我通过命令行甚至使用HUE检

hadoop - 如何使 HDFS 上的平面文件与大型数据库表保持同步?

保持HDFS上的平面文件与可能有行更新的大型数据库表同步的最佳方法是什么?像sqoop这样的工具看起来很有用,因为它们允许从表中增量提取新行,但是我看不到处理行更新的简单方法。我们可以使用哪些技术来有效地处理行更新?我们宁愿避免每晚倾倒整张table。 最佳答案 这里有一些建议:使用DBInputFormat使数据库成为您作业的输入,而不是拥有一个您必须担心同步的中间文件。如果MySQL成为瓶颈,您可以使用一些分布式/NoSQL数据库。如果您仍想使用平面文件,每天晚上您只能转储MySQL中更改的行以及时间戳。编写一个仅输出每个唯一行

hadoop - 如何使用 hdfs shell 命令检查文件是否存在

我是hadoop的新手,需要一点帮助。假设如果我使用shell脚本在后台运行作业,我如何知道作业是否完成。我问的原因是,作业完成后,我的脚本必须将输出文件移动到其他位置。我如何使用hdfs检查作业是否已完成或输出文件是否存在。谢谢MRK 最佳答案 您需要小心检测以这种方式完成的工作,因为在您的工作完全完成之前可能会有输出。为了回答您的直接问题,为了测试是否存在,我通常会执行hadoopfs-ls$output|wc-l然后确保数字大于0.我的建议是你使用&&来处理移动:hadoop...myjob.jar...&&hadoopfs-

performance - 平衡 HDFS -> HBase mapreduce 作业的想法

对于客户,我一直在研究在AWSEC2上运行Cloudera风格的hadoop集群的短期可行性。在大多数情况下,结果是预期的,逻辑卷的性能大多不可靠,也就是说尽我所能让集群在这种情况下运行得相当好。昨晚我对他们的导入程序脚本进行了全面测试,以从指定的HDFS路径中提取数据并将其推送到Hbase。他们的数据有些不同寻常,因为记录小于1KB,并且被压缩到9MB的gzipblock中。总共有大约50万条文本记录从gzip中提取出来,经过完整性检查,然后推送到reducer阶段。作业在环境的预期范围内运行(溢出记录的数量是我预料到的)但是一个非常奇怪的问题是当作业运行时,它使用8个reducer

hadoop - 如何为单元测试设置HDFS目录时间

我正在尝试对使用Hadoop的HDFS编程接口(interface)的Java程序进行单元测试。我需要创建目录并设置它们的时间以确保我的程序将在正确的时间“清理”目录。但是,FileSystem.setTimes似乎不适用于目录,仅适用于文件。有什么方法可以以编程方式设置HDFS目录访问/修改时间?我正在使用Hadoop0.20.204.0。谢谢!弗兰克 最佳答案 看起来这确实是HDFS错误,最近标记为已解决。如果这对您很重要,您可能需要从不尝试版本或快照。HDFS-2436 关于had

hadoop - 使用JAVA将文件从HDFS复制到本地文件系统

我正在尝试将文件从HDFS复制到本地文件系统以进行预处理。下面的代码应该根据文档工作。尽管它没有给出任何错误消息并且mapreduce作业运行顺利,但我在本地硬盘驱动器上看不到任何输出。你认为问题是什么?谢谢。try{Pathphdfs_input=newPath("hdfs://master:54310/user/hduser/conninput/"+value.toString());Pathplocal_input=newPath("/home/hduser/Desktop/"+avlue.toString());FileSystemfs=FileSystem.get(conte

hadoop - 文件是否需要在 HDFS 中才能在分布式缓存中使用它?

我明白了Exceptioninthread"main"java.lang.IllegalArgumentException:WrongFS:file:/path/to/my.jar,expected:hdfs://ec2-xx-xx-xx-xxx.compute-1.amazonaws.com如果我尝试将本地文件添加到hadoop中的分布式缓存。当文件在HDFS上时,我没有收到此错误(很明显,因为它使用的是预期的FS)。有没有办法在分布式缓存中使用本地文件而不先将其复制到hdfs?这是一个代码片段:Configurationconf=job.getConfiguration();Fil

hadoop - 如何通过URL访问hadoop hdfs并在程序中使用

我的hadoopdfs可以通过访问http://localhost:50075/browseDirectory.jsp?dir=%2Fuser%2Fhdone%2Ftext&namenodeInfoPort=50070在我的程序中,我必须引用我的hdfs替换输入FileInputFormat.addInputPath(conf,newPath("input"));我的core-site.xml有值hdfs://localhost:54310我无法使用URL访问它。我的实际hdfs路径是/users/hdone/text2,其中所有文件都具有适当的权限。那么我要为input写什么呢?

hadoop - 从本地非 Hadoop 机器上传数据到 Amazon EC2 中运行的 HDFS

我在AmazonEC2上设置了一个包含两个节点的hadoop集群。它运作良好。我可以使用hadoopapi(附加java程序)从主节点或与hadoop集群位于同一Amazon区域的其他实例将数据上传到HDFS。但是,当我想从我的本地非hadoop机器上执行此操作时,结果如下所示:然后我登录到hadoop名称节点以使用命令行进行检查。文件夹“testdir”已创建,但上传文件“myfile”的大小为0。==================这是分隔符===============================这些是异常(exception)情况Apr18,201310:40:47AMor