solr+hdfs+kerberos 一个问题

java.lang.IllegalArgumentException: hadoop.security.authentication set to: simple, not kerberos, but attempting to  connect to HDFS via kerberos
        at org.apache.solr.core.HdfsDirectoryFactory.initKerberos(HdfsDirectoryFactory.java:317)
        at org.apache.solr.core.HdfsDirectoryFactory.init(HdfsDirectoryFactory.java:96)
        at org.apache.solr.core.SolrCore.initDirectoryFactory(SolrCore.java:464)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:698)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:654)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:491)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:255)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:249)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)

solrconfig.xml配置如下:

<bool name="solr.hdfs.security.kerberos.enabled">true</bool>
    <str name="solr.hdfs.security.kerberos.keytabfile">/etc/security/keytabs/icps.app.keytab</str>
    <str name="solr.hdfs.security.kerberos.principal">icps/[email protected]</str>

我的HDFS是通过kerberos认证的, 我就配置了kerberos认证方式

但是却报我HDFS配置变量hadoop.security.authentication是simple而不是kerberos

我自己写一个测试程序new 一个configuration把这个变量值打印出来,确实是kerberos,但是我的配置文件里面并没有显示配置这个值,这个默认值就是kerberos

于是我怀疑是HDFS的配置文件加载错了,我就显示指定HDFS配置文件的加载路径:

java -Dsolr.hdfs.confdir=/apps/icps/site -jar start.jar

结果就没报错了

时间: 2024-08-28 23:25:24

solr+hdfs+kerberos 一个问题的相关文章

如何在solr中添加一个core

在上一篇博文中已经介绍了如何在tomcat中部署solr,部署完之后solr默认是有一个core的,也就是collection1,如下图: 如果想自定义一个core,该如何做呢? 本文将承接上一篇博文(http://simplelife.blog.51cto.com/9954761/1864071)继续展开! 1.在solrhome文件夹下复制一份collection1,并改名为simple,与collection1放在同一个文件夹中 2.进入simple文件夹中修改core.propertie

Solr 4.10.1 + tomcat 7 + zookeeper + HDFS 集成 (SolrCloud+HDFS)配置

关于搭建solrCloud + zookeeper +HDFS的实践经验 搭建zookeeper: 1.        到zookeeper官网下载zookeeper(用于管理solrcloud云的配置文件)http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/ 2.        准备三台服务器,或者搭建3台虚拟机:                                                 例如:host3.c

【整理学习HDFS】Hadoop Distributed File System 一个分布式文件系统

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别也是很明显的.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的.HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的.HDFS是Apac

【solr基础教程之中的一个】Solr相关知识点串讲

Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API.但它仅仅作为一个API库存在.而不能直接用于搜索. 因此,Solr基于Lucene构建了一个完整的搜索引擎.它能够为搜索引擎加入文档.对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等. 一.概述 (一)基础内容 1.Solr的版本与Lucene的版本保持一直,直到2014年7月,最新版本为4.9.0. 2.Solr提供了一个ex

solr源码分析之solrclound

一.简介 SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案.SolrCloud是Solr的基于Zookeeper一种部署方式.Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式. 二.特色功能 SolrCloud有几个特色功能: 集中式的配置信息使用ZK进行集中配置.启动时可以指定把Solr的相关配置文件上传Zookeeper,多机器共用.这些ZK中的配置不会再拿到本地缓存,Solr直接读取ZK中的配置信息.配置文件的变动,所有

SolrCloud中索引数据存储于HDFS

SolrCloud中索引数据存储于HDFS 本人最近使用SolrCloud存储索引日志条件,便于快速索引,因为我的索引条件较多,每天日志记录较大,索引想到将日志存入到HDFS中,下面就说说怎么讲solr的索引条件数据存储到HDFS中. 一.准备工作 Solr环境或SolrCloud集群,如果不会安装可以看一下Solr5.5.4单机部署或者SolrCloud集群部署 HDFS分布式系统环境,如果不会安装的可以看一下Hadoop2.5.0安装部署 本人就以Solr5.5.4+Tomcat8.5.6单

Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系

Solr有一堆让人发晕的术语如:collections,shards,replicas,cores,config sets. 在了解这些术语之前需要先做做如下功课: 1)什么是倒排索引? 2)搜索引擎是怎么工作的? Solr术语介绍: Collections:SolrCloud集群中的一个完整的逻辑上的倒排索引(什么是倒排索引?),和一个独立的config set相关联,由一个或者多个shard组成,shard可以在不同的服务器上,shard对搜索接口的调用者来说是隐形的,搜索者不用考虑在搜索时

HADOOP HDFS的设计

Hadoop提供的对其HDFS上的数据的处理方式,有以下几种, 1 批处理,mapreduce 2 实时处理:apache storm, spark streaming , ibm streams 3 交互式: 如pig , spark shell 都可以提供交互式地数据处理 4 sql: hive , impala 提供接口,可以使用sql标准语言进行数据查询分析 5 迭代处理:尤其是机器学习相关的算法,需要对数据反复数据,mapreduce不适应这种计算方式,它总是把它的中间结果输出到磁盘,

hadoop hdfs访问权限更新延迟问题

最近我遇到过一次solr的文件权限问题,导致索引崩溃.同事也遇到一次FS的类似现象问题.多次经历发现hadoop目前对目录的权限管理有同步问题. 正常情况下,以某个用户启动,则目录权限会变成该用户.至于用户所在的组,可以直接忽略,没有看到用处.但是有时候会出现这样的情形.明明运行程序是超级用户,也就是缺省使用hdfs用户(如果有设置缺省),但是可以访问solr, 权限的目录,而且一直稳定运行. 但是某一天,也许你忽然想改变一些配置.重启了一些应用.也许就忽然它就权限变更了.除非你用正确的用户启动