草庐IT

hdfs_sink

全部标签

java - 基于HADOOP_HOME自动加载HDFS Configuration?

我正在开发一个Java程序来与已经运行的hadoop集群交互。该程序已将HADOOP_HOME作为环境变量传递给它。基于这个值,我需要在开始与HDFS/MapReduce交互之前加载所有必要的配置资源。我认为我需要的文件基于apachedocumentation.我当前的解决方案如下所示:finalStringHADOOP_HOME=System.getEnv("HADOOP_HOME");Configurationconf=newConfiguration();conf.addResource(newPath(HADOOP_HOME,"src/core/core-default.xm

hdfs分布式文件系统 默认数据存放路径、及相关配置属性详细解析

hdfs默认数据存放路径1.默认存放路径:{hadoop.tmp.dir}=/tmp/hadoop-${user.name}即:$>/tmp/hadoop-hyxy,注意:/tmp是临时存放文件的路径,但是有时候系统重启,或者数据量太大的时候,系统会删除里面某些数据,因此一般会修改路径到当前用户目录下:即:$>/home/hyxy/tmp/hadoop理解格式化:理解格式化的含义{创建dfs/name/fsimage和edit文件,针对namenode的守护进程}开启namenode进程会失败:失败的原因是:我们在core-site.xml修改了tmp路径:【/home/hyxy/tmp/ha

hadoop - 将 hdfs 目录从全分布备份到本地目录?

我正在尝试将目录从hdfs备份到本地目录。我有一个在ec2上运行的hadoop/hbase集群。我设法在我的本地机器上以伪分布式的方式运行我想做的事情,但现在我已经完全分布式了,同样的步骤都失败了。这是适用于伪分布式的方法hadoopdistcphdfs://localhost:8020/hbasefile:///Users/robocode/Desktop/这是我在ec2上的hadoopnamenode(hbasemaster)上尝试的ec2-user@ip-10-35-53-16:~$hadoopdistcphdfs://10.35.53.16:8020/hbasefile:///

hadoop - 远程访问HDFS出现异常,求助~~

最近开始使用hadoop。现在我想从一个没有安装hadoop-client的远程主机访问hdfs,只是依赖hadoop-client-2.0.4-alpha.jar。但是当我尝试访问hdfs时,出现以下异常:java.io.IOException:Failedonlocalexception:com.google.protobuf.InvalidProtocolBufferException:Messagemissingrequiredfields:callId,status;HostDetails:localhostis:"webserver/127.0.0.1";destinati

hadoop - 为什么 Map 任务输出写入到本地磁盘而不是 HDFS?

我正在准备考试,这是讲义中的一个问题:WhyMaptasksoutputsarewrittentothelocaldiskandnottoHDFS?这是我的想法:减少网络流量的使用,因为reducer可能与输出在同一台机器上运行,因此不需要复制。不需要HDFS的容错能力。如果作业中途终止,我们总是可以重新运行maptask。还有哪些可能的原因?我的回答合理吗? 最佳答案 你的推理是正确的。但是我想补充几点:如果map输出写入hdfs会怎么样。现在,写入hdfs不像写入本地磁盘。这是一个更复杂的过程,namenode确保至少将dfs.

hadoop - HDFS LeaseExpiredException

我有一个应用程序,它应该将大量文件从S3等源复制到HDFS。该应用程序在内部使用apachedistcp,并通过流式传输将每个单独的文件从源复制到HDFS。每个单独的文件大约1GB,有1K列字符串。当我选择复制所有列时,写入失败并出现以下错误:-2014-05-2023:57:35,939WARNorg.apache.hadoop.hdfs.DFSClient:ErrorRecoveryforblocknullbaddatanode[0]nodes==null2014-05-2023:57:35,939WARNorg.apache.hadoop.hdfs.DFSClient:Could

hadoop - 解压 Hadoop hdfs 目录中的所有 Gzip 文件

在我的HDFS上,我有一堆gzip文件,我想将其解压缩为正常格式。是否有用于执行此操作的API?或者我如何编写一个函数来执行此操作?我不想使用任何命令行工具;相反,我想通过编写Java代码来完成这项任务。 最佳答案 你需要一个CompressionCodec解压缩文件。gzip的实现是GzipCodec.你得到一个CompressedInputStream通过编解码器并使用简单的IO输出结果。像这样:假设你有一个文件file.gz//pathoffileStringuri="/uri/to/file.gz";Configuratio

Hadoop:在 HDFS 中连接 CSV 文件的工具?

我有几个结构相同的巨大CSV文件存储在HDFS中。是否有任何工具可以将这些文件连接成一个CSV文件? 最佳答案 hadoopfs-catmyfiles/*.csv|hadoopfs-put-myfiles_together.csv这会连接文件内容,然后通过put将其传回HDFS。那里的-表示使用标准in作为文件内容,而不是一些本地文件。这比下拉然后向上推要好,因为它不使用磁盘。所以,您可能会说“嘿!那是不可扩展的!”好吧,不幸的是,没有可扩展的方法来在HDFS中写出一个大文件。您必须在单个线程中按顺序写入该单个文件。我的基本论点是,

hadoop - 可以只安装 Hadoop HDFS 吗?

我是Hadoop世界的新手,我需要安装带有HadoopHDFS的mesos来制作容错的分布式文件系统,但所有安装引用都包括我的场景所需的组件,例如:MapReduce。您对此有任何想法或引用吗? 最佳答案 绝对有可能。不要把Hadoop看成是一个可安装的程序,它只是由一堆运行在集群内不同节点上的java进程组成的。如果你使用hadooptarball,如果你只需要HDFS,你可以只运行NameNode和DataNodes进程。如果您使用其他hadoop发行版(例如HDP),我认为HDFS和mapreduce来自不同的rpm包,但安装

hadoop - 如何在终端中编辑 HDFS 中的 txt 文件?

有没有办法直接通过终端修改HDFS里面的txt文件?假设,我有“my_text_file.txt”,我想使用以下命令在HDFS中修改它。$hdfsdfs-XXXXuser/my_text_file.txt我很想知道“xxxx”是否存在。请注意,我不想在本地进行修改,然后将其复制到HDFS。 最佳答案 您不能编辑已经在HDFS中的文件。它不会支持。HDFS致力于“一次写入,多次读取”。因此,如果您想编辑文件,请在本地副本中进行更改,然后将其移动到HDFS。 关于hadoop-如何在终端中编