【问题标题】:Spring Solr connection with Zookeeper using jaas.confSpring Solr 使用 jaas.conf 与 Zookeeper 连接
【发布时间】:2017-04-26 13:44:14
【问题描述】:

我正在将现有的 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 的后续插入/读取不起作用。

任何帮助将不胜感激。非常感谢!

【问题讨论】:

    标签: spring-boot apache-zookeeper solrj


    【解决方案1】:

    我能够通过使用以下 JVM 参数提供 jaas 配置来解决此问题。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      • 2016-11-16
      • 2018-04-01
      • 1970-01-01
      相关资源
      最近更新 更多