草庐IT

hdfs-agent

全部标签

java - 在没有 HDFS 的情况下执行 Hadoop 代码

我在运行没有命令访问hdfs的代码时遇到问题:hadoopjar这是我尝试运行的代码:packagecom.infotel.mycompany.testhdfs;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.FileSystem;importorg.apache.hadoop.fs.Path;/***Helloworld!

java - 包括 HDFS 路径中文件夹中的所有文件

当我设置以下路径时:Pathfile=newPath("hdfs://hdp2minion1.domain.com:8020/apps/hive/warehouse/temp_hbase/");它返回一个FileNotFoundException(temp_hbase是HDFS上的一个文件夹)。我只想将所有文件包含在该文件夹中。还有其他方法可以实现吗?此处不能使用通配符。 最佳答案 你需要初始化FileSystemConfigurationconfiguration=newConfiguration();FileSystemhdfs

hadoop - 压缩 HDFS 文件时出现 IOException

我想压缩HDFS中当前存在的文件并删除未压缩的文件。这是代码,但它因IOException而出错。关于为什么会发生这种情况的任何指示?CompressionCodecFactoryccf=newCompressionCodecFactory(conf);CompressionCodeccodec=ccf.getCodecByClassName(GzipCodec.class.getName());InputStreaminpStrm=codec.createInputStream(fs.open(infoFilePath));OutputStreamcompressedOutputSr

hadoop - HDFS 上的 Solr 核心创建失败

我正在尝试让Solr4.7.2与HDFS一起工作(使用Hadoop2.4.1)。这是solrconfig.xml:LUCENE_47hdfstrue2000010000hdfs://localhost:54310/solrtrue1true16384truetruetrue16192*:*一旦我启动Solr服务器,它就会抛出异常:hdp1:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:Erroropeningnewsearcher我尝试调试,在jetty日志中发现如下错误:Caused

hadoop - hdfs dfsoutputstream 无法关闭,一直在等待

我正在使用HadoopAPI(1.2.1)将本地文件复制到HDFS,但它总是失败。然后我用JPDA调试,发现代码运行在org.apache.hadoop.io.IOUtils.copyBytes(InputStream,OutputStream,int)时就暂停了。奇怪的是,它在输出文件中的最后一个数据block时刚刚暂停,但是前一个数据block输出正常。我以为可能是文件的问题,于是新建了一个只有几个字符的文件,结果又出现了同样的问题。然后暂停线程,发现代码停在下面我的堆栈是:>DaemonThread[http-nio-80-exec-7](Suspended)>owns:DFSC

hadoop - HDFS 原子重命名文件系统依赖

关于堆栈溢出的其他问题以及hadoop2.x文档指出HDFS重命名操作是原子的。但是hadoop2.x文档还说明了以下内容:Notethatatomicityofrenameisdependentonthefilesystemimplementation.PleaserefertothefilesystemdocumentationfordetailsSource:Hadoop2.xFileContextdocumentation该短语还暗示了对底层文件系统的依赖。直到知道我不可能理解或阐述那句话的确切含义。只是文件系统的重命名操作也必须是原子的吗?哪些常用的文件系统与这句话有冲突?

java - 在 HDFS 上使用 libhdfs 进行文件 i/o

我想使用libhdfs写入和读取HDFS。我有发布版本hadoop2.5.0。我想做的是编译并运行他们提供的代码作为测试,代码编译正常,这就是我所做的gcc-I/usr/lib/jvm/java-7-openjdk-amd64/includetest/test_libhdfs_ops.c-otest.o-lhdfs-L。但是每当我尝试运行它时,我都会收到以下错误,无法获取java.lang.NoClassDefFoundError异常的堆栈跟踪:ExceptionUtils::getStackTrace错误。我意识到它无法链接到java类的一些jar文件,在这里发现了类似的问题Writ

hadoop - 如何更改 hdfs 用户的 HDFS 用户主目录?

根据我在HadoopHDFS上的实践,我了解到在创建用户sayu1并尝试将文件从本地文件系统放入HDFS时,它会搜索目录/user/u1(默认情况下)对HDFS文件系统具有写入权限。默认情况下,所有用户都在HDFS上的/user目录中搜索他们的(HDFS主目录)目录。我的疑问是我能否将默认的HDFS主目录从其他目录更改为/user目录。也有可能为不同的用户设置不同的HDFS主目录位置,就像我们在Linux用户的情况下所做的那样,即对于user1,HDFS主目录应该是/home1/user1和*user2HDFS主目录应为/home2/user2.如果我的假设有误,请指正。

java - hadoop 是否为非本地映射器缓存 hdfs-block?

假设我在DN1上运行映射器任务。我感兴趣的hdfs-block在DN2上。据我了解,hadoop不会缓存DN1上的block。这意味着如果我正在读取1MB的记录,而block是512MB,那么我将通过网络512次。这是正确的吗?也许我的问题措辞不正确。我知道数据局部性,我的问题是关于数据局部性不可能的时代。如果DN2上的一个block中有512MB的数据,但映射器在DN1上运行,并且记录读取器提供的每条记录都是1MB,这是否意味着我们要通过网络512次?或者hadoop是否缓存该block——这意味着它是否将512MB的block从DN2复制到DN1,然后开始为记录读取器提供服务。我认

java - streaming jar 找不到 HDFS 中的 Mapper 文件

我目前正在尝试让本地版本的Hadoop运行,但我有点卡住了。我使用以下教程进行设置:http://glebche.appspot.com/static/hadoop-ecosystem/hadoop-hive-tutorial.html现在,我想使用本教程执行一个简单的Mapreduce:http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/但是,我似乎对HDFS有一些问题,因为当我想运行以下命令时::libexecme$hadoopjar./share/hadoop/to