当前位置: 首页 > 知识库问答 >
问题:

在HDFS上创建Solr core时出现的问题

胥和悌
2023-03-14
$ bin/solr start -Dsolr.directoryFactory=HdfsDirectoryFactory -Dsolr.lock.type=hdfs -Dsolr.data.dir=hdfs://localhost:9000/tmp -Dsolr.updatelog=hdfs://localhost:9000/tmp -s solr-cores/core1

并试图创建如下所示的核心,

bin/solr create -c hdfsstarted -d /home/admin/HadoopTools/solr-5.3.0/server/solr/configsets/data_driven_schema_configs_hdfs/conf -n hdfsstarted

但得到以下错误:

安装新的核心实例目录:/home/admin/hadooptools/solr-5.3.0/solr-cores/core1/hdfsstarted

<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory">
    <str name="solr.hdfs.home">hdfs://10.67.5.244:50070/tmp</str>
    <bool name="solr.hdfs.blockcache.enabled">true</bool>
    <int name="solr.hdfs.blockcache.slab.count">1</int>
    <bool name="solr.hdfs.blockcache.direct.memory.allocation">false</bool>
    <int name="solr.hdfs.blockcache.blocksperbank">16384</int>
    <bool name="solr.hdfs.blockcache.read.enabled">true</bool>
    <bool name="solr.hdfs.blockcache.write.enabled">false</bool>
    <bool name="solr.hdfs.nrtcachingdirectory.enable">true</bool>
    <int name="solr.hdfs.nrtcachingdirectory.maxmergesizemb">16</int>
    <int name="solr.hdfs.nrtcachingdirectory.maxcachedmb">192</int>
</directoryFactory>
<lockType>
   hdfs
</lockType>

请让我知道如何在HDFS中正确创建核心。

共有1个答案

双元魁
2023-03-14

原因:协议消息结束组标记与预期标记不匹配。

发生此错误是因为您使用了不正确的HDFS端口。请参见hdfs-ls:本地异常失败:com.google.protobuf.InvalidProtocolBufferException:。

在这里,您需要将端口从50070(看起来像NameNode web ui端口)更改为8020或作为NameNode RPC端口使用的任何端口:

<str name="solr.hdfs.home">hdfs://10.67.5.244:50070/tmp</str>
 类似资料:
  • 我正在学习使用laravel创建项目,我正在使用PHP8。通过“laravel新建项目”创建新项目时。我得到了这个错误,供应商文件夹在该项目中丢失。

  • 我正在尝试创建一个可执行的。jar文件。我一直在互联网上试图找出如何从命令提示符来做到这一点。

  • 我正在尝试使用GLFW创建一个窗口。窗口已创建,但经过几次尝试,创建窗口需要很长时间。 https://drive.google.com/file/d/1zq4IEjcSIJxy5wnXWLrGe46ptHMbKM5R/view?usp=sharing 我找不到任何解决办法,也不知道这是由什么引起的。 这是我正在使用的代码: 程序输出为 所以看起来初始化glfw需要很长时间,但我不知道如何修复它。

  • 我尝试做一个切入点,记录SQL查询 我正在尝试实现此处的代码;http://www.gotoquiz.com/web-coding/programming/java-programming/log-sql-statements-with-parameter-values-filled-in-spring-jdbc/ 但我得到 我已经在我的 *-servlet 中创建了 jdbc模板 bean.xm

  • 我正在尝试使用Apache POI3.14库创建文档。 当我尝试用这个重新编译的.jar运行应用程序时,我会得到这样的警告,但即便如此,它还是会被启动到设备上 那么在我的代码中尝试执行以下操作时: 我得到这个异常并关闭应用程序

  • 我正在使用openjdk 14.0.1 我一直跟着教程 https://openjfx.io/openjfx-docs/#install-javafx 遵循CLI中的运行时图像模块化教程 我已经使用jlink成功创建了运行时映像。创建的运行时映像如下所示,使用bin中的jvm,我可以运行此应用程序。 以便从此运行时创建包 我正在使用命令 这将创建一个安装程序,如下所示 但当我运行安装程序时,一声巨