首页 > 解决方案 > 如何为 8983 和 8984 端口使用相同的 SOLR 内核

问题描述

我正在使用 Apache SOLR 6.6.5 作为在端口 8983 上运行的搜索引擎。我只是想为 solr 启用 SSL,并按照本指南使用 SSL 使其在 8984 端口下工作。

在这里,我的问题是我无法看到 8984 上已经在端口 8983(没有 SSL 的端口)下创建的任何内核。

http://mywebsite.com:8983/solr/#/ ==> 这有 3 个核心

https://mywebsite.com:8984/solr/#/ ==> 这没有任何内核

如果有人能为 8983 和 8984 端口提供相同内核的解决方案,我们将不胜感激。

谢谢

标签: solrsolr6

解决方案


以下是步骤。确保 Zookeeper 已安装并且已启动并正在运行。Zookeeper 主要在 2181 端口上运行,所以我们的 zk_host 将是 localhost:2181。

SOLRHOME 是您从 solr-xyztar.gz 中提取的目录。

  1. 转到 SOLRHOME。
  2. 我们将创建两个 solr 节点。使用目录名称SOLRHOME/node1SOLRHOME/node2在 SOLRHOME 中复制SOLRHOME/server目录。
  3. SOLRHOME dir 使用以下命令以云模式启动 node1
          ./bin/solr -c -d node1 -z localhost:2181
          Here,
                -c : Sepcifies cloud node
                -d : Solr home directory store node logs and core data
                -z : Zookeeper to maintain Config files 
  1. 使用以下命令启动 node2
          ./bin/solr -c -d node2 -z localhost:2181 
  2. 使用以下命令将配置上传到 Zookeeper,
       ./bin/solr zk upconfig -z localhost:2181 -n core1_schema -d ~/core1_schema_dir
          Here,
                ~/core1_schema_dir : this dir will contain conf dir which you must have in your current core1 collection, 
                                     so your managed-schema file path will be ~/core1_schema_dir/conf/managed-schema 
                core1_schema : This is name we have given to the uploaded schema 
  3. 使用以下 curl 命令创建带有复制的集合或在浏览器中点击封闭的 url,
      curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=core1&numShards=1&replicationFactor=2&maxShardsPerNode=1&collection.configName=core1_schema" 
    这将返回如下响应,
               {
                        "responseHeader": {
                            "QTime": 7494,
                            "status": 0
                        },
                        "success": {
                            "127.0.1.1:8983_solr": {
                                "core": "core1_shard1_replica_n2",
                                "responseHeader": {
                                    "QTime": 6093,
                                    "status": 0
                                }
                            },
                            "127.0.1.1:8984_solr": {
                                "core": "core1_shard1_replica_n1",
                                "responseHeader": {
                                    "QTime": 5802,
                                    "status": 0
                                }
                            }
                        }
                    } 
    正如您在响应中看到的那样,已在 node2 上创建了 core1 的复制。现在您必须对其他两个内核重复步骤 5 和 6。

推荐阅读