以前介绍过2篇SolrCloud的部署流程,第一个是使用安装脚本的方式进行抽取安装,启动比较方便,可是会建立多个目录,感受比较乱;第二个是官方教程上提供的方法,使用比较简单,直接释放压缩包便可,而且启动cloud实例的时候默认会建立一个示例collection;实际上官方文档在solr启动脚本配置文件solr.in.sh介绍时,也提供了一种思路,就是咱们使用第一种方法中的配置参数,综合第二种方法的释放简单的优势,这里总结了一个比较灵活简单solr生产部署方式,在生产中配置也较为清晰,也是不断实践的结果,但愿能对你们有所帮助linux
首先仍是保证zookeeper服务的配置运行无误,这里集群用了6台CentOS 7.1的服务器,分别是:linux一、linux二、linux三、linux四、linux五、linux6vim
而后和以前同样,仍是下载安装包solr-5.3.1.tgz,咱们预约的solr安装位置是:/usr/solr/solr-5.3.1,接下来在linux1上执行释放:浏览器
mkdir /usr/solr tar -xvzf solr-5.3.1.tgz mv solr-5.3.1 /usr/solr
如今solr释放完毕,而后执行 cd /usr/solr/solr-5.3.1 进入solr目录下,而后执行 vim bin/solr.in.sh ,和以前同样去掉SOLR_JAVA_MEM前面的#,设置为3G,不要过小,保证solr JVM和GC的运行服务器
而后最重要的一步就是设置ZK_HOST,设置为:ZK_HOST="linux1:2181,linux2:2181,linux3:2181,linux4:2181,linux5:2181,linux6:2181/solr"curl
实际生产中,solr文件最好放在zookeeper下的一个子节点中,便于管理,以前都是直接堆在根目录下,实际运行没有影响,以前的在配置中也能够灵活设置,/solr节点待会会详细说明如何建立ui
以前还配置了一个SOLR_HOST,这个默认是本地和配置本地主机名效果同样,这里就不配置这一项了,以上2项足够了,配置好以后,保存并退出url
如今不要着急去启动solr,若是启动的话确定是会出错了,由于咱们zookeeper上的节点/solr尚未建立,以前咱们讨论过zookeeper服务的管理操做,建立个节点也是很简单的,咱们zookeeper的安装位置是:/usr/zookeeper/zookeeper-3.4.6,执行下面命令登陆zookeeper服务:spa
/usr/zookeeper/zookeeper-3.4.6/bin/zkCli.sh -server localhost:2181
而后就和以前所说同样进入了管理的界面code
咱们执行 ls / 查看根目录下的节点列表,发现只有zookeeper节点,接下来咱们执行 create /solr null 创建solr节点,字符串设置为null便可,固然本身能够定义,如今经过 ls / 就能够查看到solr节点了server
如今执行 quit 退出zookeeper
如今在linux1上solr就配置完毕了,如今咱们依次执行下面命令或者写成脚本将配置好的solr目录发送到其余5台服务器:
scp -r /usr/solr linux2:/usr/ scp -r /usr/solr linux3:/usr/ scp -r /usr/solr linux4:/usr/ scp -r /usr/solr linux5:/usr/ scp -r /usr/solr linux6:/usr/
发送完毕之后,在6台服务器的solr安装目录下,也就是/usr/solr/solr-5.3.1下分别执行solr启动命令:
bin/solr start
启动时,solr会读取配置文件从而使用zookeeper服务进行协调,所有执行完毕,solrcloud就运行起来了,如今是一个纯净的集群,没有任何配置和数据,接下来咱们在其中一台服务器上执行下面命令上传配置文件,方法和以前同样:
./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181/solr -cmd upconfig -confdir server/solr/configsets/sample_techproducts_configs/conf -confname my_config
有一点须要注意,那就是-zkhost指定zookeeper服务器时须要加上/solr节点,执行完毕就上传好了配置文件,接下来经过curl或者直接访问浏览器来建立collection:
curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=my_collection&numShards=6&replicationFactor=1&collection.configName=my_config"
若是使用浏览器须要将localhost换成ip地址才能够;稍等一下命令执行完毕,6个shard的collection就建立成功了
另外,经过solr管理首页能够查看JVM的资源占用和各类配置的对应项,方便去分析
以上就是我我的推荐的solr集群搭建方案,过程比较简单,到这里就ok了