docker - 如何使用 docker-compose 运行 SolrCloud

标签 docker solr apache-zookeeper solrcloud

请帮助我docker-compose文件。
现在,我在 docker 文件中使用 Solr,但我需要将其更改为 SolrCloud。我需要 2 个 Solr 实例、一个内部 Zookeeper 和 docker(本地)。
这是docker-compose的一个例子我做的文件:

version: "3"

services:
  mongo:
    image: mongo:latest
    container_name: mongo
    hostname: mongo
    networks:
      - gsec
    ports:
      - 27018:27017    

  sqlserver:
    image: microsoft/mssql-server-linux:latest
    hostname: sqlserver
    container_name: sqlserver
    environment:
      SA_PASSWORD: "#Password123!"
      ACCEPT_EULA: "Y"
    networks:
      - gsec
    ports:
      - 1403:1433
  solr:
    image: solr
    container_name: solr    
    ports:
     - "8983:8983"
    networks:
      - gsec 
    volumes:
      - data:/opt/solr/server/solr/mycores
    entrypoint:
      - docker-entrypoint.sh
      - solr-precreate
      - mycore
volumes:
  data:

networks:
      gsec:
        driver: bridge

先谢谢了。

最佳答案

Solr docker 实例嵌入了一个 zookeeper 服务器。您只需使用正确的参数启动 Solr 并添加 zookeeper 端口 9983:9983在 docker-compose 文件中:

  solr:
    image: solr
    container_name: solr    
    ports:
     - "9983:9983"
     - "8983:8983"
    networks:
      - gsec 
    volumes:
      - data:/opt/solr/server/solr/mycores
    entrypoint:
      - docker-entrypoint.sh
      - solr
      - start
      - -c
      - -f

SolrCloud 基本上是一个 Solr 集群,其中 Zookeeper 用于协调和配置集群。

通常您将 SolrCloud 与 Docker 一起使用,因为您正在学习它的工作原理,或者因为您正在准备您的应用程序(在本地?)部署到更大的环境中。

另一方面,如果您没有分布式配置,即在不同节点上运行 Solr 和 Zookeeper,则运行 SolrCloud 没有多大意义。

当您每秒进行数百甚至数千次搜索并收集数百万甚至数十亿个文档时,SolrCloud 是您需要的那种集群。

您的集群必须水平扩展。

关于docker - 如何使用 docker-compose 运行 SolrCloud,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51019760/

相关文章:

solr - 如何在Solr 3.3中实现mod功能

java - 如何在zookeeper中使用Logback代替log4j?

mysql - docker-compose:mariadb - 连接被拒绝

java - 使用 Java 的 Docker : path RUN javac

eclipse - tomcat 服务器已启动但本地主机为 :8080 is not up

ubuntu - ActiveMQs 不会在彼此之间复制消息

java - Storm KafkaSpout 停止消费来自 Kafka Topic 的消息

python - 使用 Locust 对 docker-compose 应用程序进行性能测试时,连接被拒绝错误 (111)

php - 如何在官方 docker php 镜像上以非 root 用户身份运行 apt php

java - 有人用过solr5.5吗? Mysql包应该放在哪个目录下?