Streamsets Ошибка модуля назначения Solr не позволяет мне добавлять данные в коллекцию Solr непосредственно из конвейера - PullRequest
1 голос
/ 30 октября 2019

Я создал и развернул следующий файл 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 и параметров одного узла в наборе потоков:

SolrCloud Streamsets Configuration

Single Node Streamsets Configuration

Каждый раз, когда я запускаю предварительный просмотр или конвейер, я получаюошибка, которая заявляет:

SOLR_3 - Не удалось подключиться к экземпляру Solr: java.lang.ClassCastException: org.apache.solr.common.util.SimpleOrderedMap не может быть приведен к java.util.Map

Что означает эта ошибка? Что я должен изменить или добавить в свой конвейер, чтобы иметь возможность подключить конвейер и передать данные непосредственно в коллекцию Solr?

Вот также прикрепленное изображение пользовательского интерфейса Solr Admin state.json для коллекции.

Solr Admin UI

Трассировка стека SDC:

SDC Stack Trace

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 14 ноября 2019

В итоге я установил пакет CDH 5.15.0 из менеджера пакетов. Это позволило нам подключиться к Solr 5.5-slim, который был в нашем док-контейнере. На вкладке «Общие» для модуля назначения Solr мы затем выбрали пакет CDH 5.15.0 в поле промежуточной библиотеки, а затем, определив информацию об одном узле, позволили нам подключиться к базе данных Solr.

Solr Module General Tab

...