Solr学习之路—SolrCloud集群

SolrCloud是基于solr和ZooKeeper的分布式搜索方案,主要思想是使用ZooKeeper作为集群的配置中心。

交互式SolrCloud

solr -e cloud

他将启动一个交互式会话,指导我们搭建带有嵌入式ZooKeeper的简单SolrCloud集群。该脚本通过询问希望在本地集群中运行多少个Solr节点来启动,默认值为2。该脚本支持启动最多4个节点,但我们建议在开始时使用默认值2。这些节点将各自存在于单个机器上,但将使用不同的端口来模拟不同服务器上的操作。接下来,脚本将提示您输入要绑定每个Solr节点的端口,例如:

solr-e-cloud

为每个节点选择任何可用端口; 第一个节点的默认值为8983,第二个节点的默认值为7574。该脚本将按顺序启动每个节点,并显示其用于启动服务器的命令,例如:

solr start -cloud -s example/cloud/node1/solr -p 9983

第一节点也将开始绑定到端口9983。由-s选项指定节点,-p选项指导端口。启动集群中的所有节点后,脚本将提示您输入要创建的集合的名称:

wenqyCloud

接下来,脚本将提示您输入分布集合的分片数。如果您不确定,我们建议使用默认值2,这样您可以看到一个集合在一个SolrCloud集群跨多个节点分布。接下来,脚本将提示您为每个分片创建的副本数。如果不确定,则使用默认值2,这样就可以看到SolrCloud是如何处理拷贝的。

solrCloudShard

最后,脚本将提示您输入集合的配置目录的名称。您可以选择basic_configs,data_driven_schema_configssample_techproducts_configs。配置从server/solr/configsets/目录上拉。

solrCloudConfig

Solr状态

此时,您应该在您的本地SolrCloud集群中创建一个新集合。要验证此,可以运行status命令:

solr status

solr-status

如果在此过程中遇到任何错误,请检查Solr的日志文件example/cloud/node1/logsexample/cloud/node2/logs

Solr还提供了使用healthcheck命令对集合执行基本诊断的方法:

solr healthcheck -c wenqyCloud

solr-healthcheck

竟然报错,不管了。。。

healthcheck命令收集集合中有关每个副本的基本信息,例如文档数,当前状态(活动等)和地址(副本驻留在集群中)。

要SolrCloud模式停止Solr的,你可以使用  bin/solr脚本并发出  stop命令,如:

solr stop -all

还可以使用以下命令使SolrCloud以所有默认值而不是交互式会话开始:

solr -e cloud -noprompt

重新启动节点

您可以使用重新启动SolrCloud节点bin/solr脚本。例如,要重新启动在端口9983(使用嵌入式ZooKeeper服务器)上运行的node1,您将执行:

solr restart -c -p 9983 -s D:\solr\solr-6.2.1\example\cloud\node1\solr

要重新启动在端口7574上运行的node2,您可以:

solr restart -c -p 7574 -z localhost:9983 -s D:\solr\solr-6.2.1\example\cloud\node2\solr

请注意,启动node2时需要指定ZooKeeper地址(-z localhost:9983),以便它可以与node1一起加入集群。

向节点添加节点

使用启动脚本启动SolrCloud群集后,可以通过以下方式向其中添加新节点:

$ mkdir <solr.home for new solr node>
$ cp <existing solr.xml path> <new solr.home>
$ bin/solr start -cloud -s solr.home/solr -p <port num> -z <zk hosts string>

请注意,上面需要您创建一个Solr主目录。需要复制  solr.xml到solr_home目录中的新建solr节点目录中。

向以“bin / solr -e cloud”开头的示例添加节点的示例(使用目录结构):

$ mkdir -p D:\solr\solr-6.2.1\example\cloud\node3\solr
$ copy D:\solr\solr-6.2.1\server\solr\solr.xml D:\solr\solr-6.2.1\example\cloud\node3\solr
$ solr start -cloud -s D:\solr\solr-6.2.1\example\cloud\node3\solr -p 8987 -z localhost:9983

上面的命令将启动与Solr节点example/cloud/node3/solr。新节点将其日志文件写入example/cloud/node3/logs

solrCloudGraph

云里雾里的,先照猫画虎了再说。。。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

17 + 1 = ?