2017-04-25 7 views
0

기존 Java 프로젝트를 Spring Boot로 마이그레이션하려고합니다. 사육사를 통해 Solr과 연결됩니다.jaas.conf를 사용하여 Zookeeper와 Spring Solr 연결

시작시 다음 오류가 발생합니다.

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

다음 구성은 로컬이지만 다른 환경에서는 작동합니다. 사육사는 인증 (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의 환경 속성으로 자격 증명을 전달했습니다. 이 경우 스프링 부트 시작 중에 예외가 없었지만 이후의 삽입/읽기가 작동하지 않습니다.

도움을 주시면 감사하겠습니다. 감사합니다!

답변

0

다음 JVM 매개 변수를 사용하여 jaas config를 제공하여 문제를 해결할 수있었습니다.

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