Я создал и развернул следующий файл docker-compose.yml:
services:
solr1:
container_name: solr1
image: solr:5-slim
ports:
- "9981:9983"
- "8981:8983"
volumes:
- data:/var/solr
- ./solr_configs/schema.xml:/opt/solr/server/solr/configsets/mri_config/schema.xml
- ./solr_configs/schema.xml:/opt/solr/server/solr/configsets/mri_config/conf/managed-schema
- ./solr_configs:/opt/solr/server/solr/configsets/mri_config/conf
environment:
- ZK_HOST=zoo1:2181,zoo2:2181,zoo3:2181
networks:
- solr
depends_on:
- zoo1
- zoo2
- zoo3
solr2:
image: solr:5-slim
container_name: solr2
ports:
- "9982:9983"
- "8982:8983"
volumes:
- data:/var/solr
- ./solr_configs/schema.xml:/opt/solr/server/solr/configsets/mri_config/schema.xml
- ./solr_configs/schema.xml:/opt/solr/server/solr/configsets/mri_config/conf/managed-schema
- ./solr_configs:/opt/solr/server/solr/configsets/mri_config/conf
environment:
- ZK_HOST=zoo1:2181,zoo2:2181,zoo3:2181
networks:
- solr
depends_on:
- zoo1
- zoo2
- zoo3
solr3:
image: solr:5-slim
container_name: solr3
ports:
- "9983:9983"
- "8983:8983"
volumes:
- data:/var/solr
- ./solr_configs/schema.xml:/opt/solr/server/solr/configsets/mri_config/schema.xml
- ./solr_configs/schema.xml:/opt/solr/server/solr/configsets/mri_config/conf/managed-schema
- ./solr_configs:/opt/solr/server/solr/configsets/mri_config/conf
environment:
- ZK_HOST=zoo1:2181,zoo2:2181,zoo3:2181
ports:
- 9983:9983
- 8983:8983
networks:
- solr
depends_on:
- zoo1
- zoo2
- zoo3
zoo1:
image: zookeeper:3.4
container_name: zoo1
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
networks:
- solr
zoo2:
image: zookeeper:3.4
container_name: zoo2
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
networks:
- solr
zoo3:
image: zookeeper:3.4
container_name: zoo3
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
networks:
- solr
sdc:
image: streamsets/datacollector
ports:
- 18630:18630
volumes:
- /local/directory/path/streamsets:/data:rw
networks:
- solr
networks:
solr:
volumes:
data:
Затем я создал коллекцию Solr с именем collection1 , выполнив
docker exec solr1 solr create -c collection1
После преобразования моих данных в Streamsets я установил и добавил модуль назначения Solr-6.1.0, добавив его из диспетчера пакетов и затем перезапустив контейнер док-станции sdc. Это мои настройки для параметров SolrCloud и параметров одного узла в наборе потоков:
Каждый раз, когда я запускаю предварительный просмотр или конвейер, я получаюошибка, которая заявляет:
SOLR_3 - Не удалось подключиться к экземпляру Solr: java.lang.ClassCastException: org.apache.solr.common.util.SimpleOrderedMap не может быть приведен к java.util.Map
Что означает эта ошибка? Что я должен изменить или добавить в свой конвейер, чтобы иметь возможность подключить конвейер и передать данные непосредственно в коллекцию Solr?
Вот также прикрепленное изображение пользовательского интерфейса Solr Admin state.json для коллекции.
Трассировка стека SDC:
Любая помощь очень ценится.