2017-04-25 13 views
0

私は、既存のJavaプロジェクトをSpring Bootに移行しています。 Zookeeper経由でSolrに接続します。jaas.confを使ってZookeeperとSpring 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起動時に例外はありませんでしたが、その後のSolrへの挿入/読み取りは機能しません。

ご協力いただければ幸いです。どうもありがとう!

答えて

0

次のJVMパラメータを使用してjaas configを提供することで問題を解決できました。

-Djava.security.auth.login.config=/etc/zookeeper/conf/jaas.conf 
関連する問題