簡體   English   中英

使用jaas.conf與Zookeeper進行Spring Solr連接

[英]Spring Solr connection with Zookeeper using jaas.conf

我正在將現有的Java項目遷移到Spring Boot。 它通過Zookeeper連接到Solr。

它在啟動時引發以下錯誤。

org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /clusterstate.json

以下配置可在本地使用,但在其他環境中,Zookeeper需要進行一些身份驗證(jaas.conf)。 如何將jaas.conf傳遞給Spring Boot,以便它可以正確初始化SolrClient?

@Configuration
@EnableSolrRepositories(basePackages = "com.search", multicoreSupport = true)
public class SolrConfig {

    @Value("${spring.data.solr.zk-host}")
    private String zkHost;

    @Bean
    public SolrClient solrClient() {
        return new CloudSolrClient(zkHost);
    }

    @Bean
    public SolrTemplate solrTemplate(SolrClient solrClient) throws Exception {
        return new SolrTemplate(solrClient);
    }
}

的Jaas.conf

Client {
       org.apache.zookeeper.server.auth.DigestLoginModule required
       username="some_username"
       password="some_password";
};

我嘗試將憑據作為zkDigestUsername和zkDigestPassword的環境屬性進行傳遞。 在這種情況下,在Spring Boot啟動期間也不例外,但是隨后對Solr的插入/讀取不起作用。

任何幫助,將不勝感激。 非常感謝!

通過使用以下JVM參數提供jaas配置,我能夠解決此問題。

-Djava.security.auth.login.config=/etc/zookeeper/conf/jaas.conf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM