我已经构建并部署了以下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:
然后通过执行以下操作创建了一个名为collection1的Solr集合
docker exec solr1 solr create -c collection1
在转换Streamset中的数据之后,通过从包管理器中添加Solr-6.1.0目标模块,然后重新启动sdc停靠容器,安装并添加了Solr-6.1.0目标模块。这是我在Streamset中为SolrCloud设置和单个节点设置设置的设置:
每次运行预览或管道时,都会得到一个错误,该错误声明:
SOLR_3 -无法连接到Solr实例: java.lang.ClassCastException: org.apache.solr.common.util.SimpleOrderedMap不能转换为java.util.Map
这个错误意味着什么?为了能够将管道连接起来并将数据直接输送到Solr集合,我应该更改或添加什么?
这里还附带了用于集合的Solr state.json的图像。
SDC堆栈跟踪:
任何帮助都是非常感谢的。
发布于 2019-11-14 07:24:34
最后,我从包管理器安装了CDH5.15.0软件包。这使得我们可以连接到我们的码头集装箱中的Solr 5.5-slim。然后,在Solr目标模块的常规选项卡中,我们在暂存库字段中选择CDH5.15.0包,然后定义单个节点信息,使我们能够连接到Solr数据库。
https://stackoverflow.com/questions/58629204
复制