前面写过生产过程中的SolrCloud集群配置,实际上官方给出的是免安装配置,启动时采用命令行参数的方式启动,这样相对简单,并且官方文档也给出了外部Zookeeper的配置,和前面说的基本一致,这个不影响,在配置好Zookeeper之后,开始简单说一下solrcloud的配置
这里还是设置了三台服务器:linux1、linux2、linux3 三台主机的通信都已经由hosts配置完毕,Zookeeper服务正常启动,3台服务器都要按照下面步骤完成solr的释放:
1 $ tar -xvzf solr-5.3.1.tgz2 $ mv solr-5.3.1/ /usr/3 $ cd /usr/solr-5.3.1
这样就完成了solr的释放,这里放到了/usr下面,这个可以根据个人习惯定义,现在可以配置solr以集群方式启动,3台服务器都要执行下面的命令:
bin/solr start -e cloud -z linux1:2181,linux2:2181,linux3:2181 -noprompt
这样就用-z参数指定了zookeeper服务器地址,从而让solr以集群方式启动,集群中所有的服务器都要执行,执行完毕之后集群启动成功
现在是一个干净的solr集群,没有任何collection数据集,也没有任何配置,那么现在可以上传一个配置便于后来数据集索引,使用solr自带的zkcli.sh工具来上传配置,上传一次即可zookeeper会自动进行同步的服务:
server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd upconfig -confdir server/solr/configsets/sample_techproducts_configs/conf -confname newconfig
这里用-confname来指定上传新配置的名称,这样在zookeeper的配置目录中会多出一个newconfig目录,上面的参数前后顺序可以颠倒,只要不缺参数就行,然后可以新建一个collection数据集,通过访问url就可以实现,远程访问其中一台服务器IP就可以:
http://192.168.1.79:8983/solr/admin/collections?action=CREATE&name=myNewCollection&numShards=3&replicationFactor=1&collection.configName=newconfig
上面的numShards是数据在节点分片的数量,这里分了3片,replicationFactor是副本的数量,最后一项collection.configName是指定已经上传的配置的名称,这个很重要一定要指定正确
访问之后就创建了一个新的数据集,并且通过不同的分布让多台服务器都可以共享数据,我们也可以上传多个配置,建立多个数据集合,之间不互相干扰,这些是solrcloud最基本的操作