2016-02-04 45 views

回答

1

檢查您的服務器和客戶端的時鐘是否同步。

+0

這會觸發「clockskew太大」。 –

+0

無論如何,我的服務器和客戶端時鐘是同步的。 – xennygrimmato

0

就我而言,當我使用Solr時,會觸發此異常。 然後,我對Solrconfig.xml進行了更改以支持Kerberos。

<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory"> 
     <str name="solr.hdfs.home">hdfs://nas.XYZ.lan:8020/user/solr</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">true</bool> 
     <int name="solr.hdfs.blockcache.blocksperbank">16384</int> 
     <bool name="solr.hdfs.blockcache.read.enabled">true</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> 
     <bool name="solr.hdfs.security.kerberos.enabled">true</bool> 
     <str name="solr.hdfs.security.kerberos.keytabfile">/etc/krb5.keytab</str> 
     <str name="solr.hdfs.security.kerberos.principal">solr/[email protected]</str> 
    </directoryFactory> 
+0

你終於找到解決問題的辦法了嗎?謝謝。 –

+0

是的。大部分時間它爲我工作。 –

0

我得到了這個問題,當我傳遞令牌時,曾經生成過一次並在頭中重複使用相同的令牌。

val tokenLoadedOnce=KrbHttpClient.token get.addHeader("Authorization", s"Negotiate $tokenLoadedOnce")

而是,當我生成令牌EVERYTIME並添加到頭,此問題已得到解決。

get.addHeader("Authorization", s"Negotiate ${KrbHttpClient.token}")