草庐IT

hdfs_clusters

全部标签

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

java - 使用Put命令写入HDFS,得到 "Exculding datanode"

当我使用“hadoopfs-putfile1.txt/home”时,出现了这些错误:2014-11-2512:42:27INFO[org.apache.hadoop.conf.Configuration.deprecation]fs.default.nameisdeprecated.Instead,usefs.defaultFS2014-11-2512:45:34INFO[org.apache.hadoop.hdfs.DFSClient]ExceptionincreateBlockOutputStreamjava.net.ConnectException:Connectiontimed

hadoop - 如何读取 HDFS 上的文件以在 Hadoop 上进行分布式缓存

我正在尝试从HDFS加载hadoop分布式缓存中的文件,但它不起作用。我正在使用hadoop版本2.5.1。这是关于我如何在映射器中使用缓存文件的代码:@Overrideprotectedvoidsetup(Contextcontext)throwsIOException,InterruptedException{URI[]uris=context.getCacheFiles();for(URIuri:uris){FileusersFile=newFile(uri);BufferedReaderreader=null;reader=newBufferedReader(newFileRe

hadoop - 如何使用配置单元读取自定义的 hdfs 文件

我在HDFS中有自己的文件格式,如下所示...正如我们所见,文件中的每条记录都使用ProtocolBuffer进行了编码我一直在尝试用hive读取这些文件,我想我应该创建一个输入格式,一个来自旧版本mapreduceAPI的记录读取器,以及一个用于解码protobuf记录的serde。以前有没有人这样做过,我的方向是否正确?任何帮助将不胜感激。 最佳答案 是的,您正朝着正确的方向前进。这正是InputFormat、RecordReader和SerDe抽象的用途。您应该能够找到大量示例。