相关文章推荐
安静的水桶  ·  DeviceInformation.Crea ...·  6 月前    · 
一身肌肉的酱牛肉  ·  MyBatis Cause: ...·  8 月前    · 
成熟的脸盆  ·  成功解决 TypeError: type ...·  1 年前    · 
快乐的马铃薯  ·  欧洲的 PhD ...·  1 年前    · 

使用docker-compose启动solr云时,无法使用java代码索引数据

1 人关注

当使用zookeeperURI(暴露的端口为2181)从java代码中点击solr-cloud(暴露的端口为8983)时,使用docker-compose启动,错误被抛出说 "org.apache.solr.client.solrj.SolrServerException。没有可用的SolrServers来处理这个请求: [http://172.21.0.4:8983/solr/test] "。

有什么办法解决这个问题吗?

1 个评论
你应该发布你的docker-compose文件
java
docker-compose
apache-zookeeper
solrj
solrcloud
Ashmeet Kandhari
Ashmeet Kandhari
发布于 2017-02-22
2 个回答
Pedro Galan
Pedro Galan
发布于 2017-02-22
0 人赞同

在启动Solr时使用参数 -u your-hostname 终于对我有用。通过这样做,我让zookeeper返回 your-hostname 而不是IP。然后你可以添加。

127.0.0.1 your-hostname

到你的/etc/hosts中,这应该是个奇迹。正如我所说的,它对我很有效。

我的docker-compose.xml就像这样简单。

version: '2'
services:
  oesp-zookeeper:
    image: zookeeper:1
    container_name: my-zookeeper
    ports:
      - 2181:2181
  oesp-solr:
    image: solr:1
    container_name: my-solr
    depends_on:
      - my-zookeeper
    ports:
      - 8983:8983

然后我用以下方式启动Solr。

solr -f -z my-zookeeper:2181 -h solr.docker