1、SolrCloud 与 MultiCore 的本质区别 *SolrCloud 用多台机搭建一个SolrCore(即整个系统只有一套schema,solrconfig) *MultiCore 是多个独立的服务,不一样的core能够用几套schema,solrconfig。html
2、下面开始安装 SolrCloud (SolrCloud 是一个集群,真实环境下是须要多台机配合工做的,下面我以两台机子为例,一步一步来安装 SolrCloud) 如今我有两台机(没有配置 host,只能直接使用 IP地址):java
<!-- lang: java --> ip1:202.38.221.64 ip2:202.38.221.50
SolrCloud 服务器是利用 zookeeper 服务器来实现分布式工做的,因此先要安装 zookeeper 下面查看 zookeeper 的官方文档,来介绍如何安装 zookeeperlinux
2.1 安装 zookeeperweb
<!-- lang: java --> 下面分 local 模式和 集群模式 下面根据官方文档(http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper) Getting Started 来部署 zookeeper,官方文档说,这里的目标主要是针对开发者 但愿去尝试一下而写的,只介绍了单 Zookeeper 服务和一些简单的命令去确认它是否正常工做,最后为了方便开发者,还附带几部分复杂配置的内容用来讲明集群复制部署,若是想要商业应用还须要看 ZooKeeper Administrator's Guide. 第一步:下载 Zookeeper (http://zookeeper.apache.org/releases.html) 我选择的是 3.3.5 版本 第二步: 一、若是是单机模式,很是简单,将下载好的文件解压,而后将主目录下面的 conf 目录下自带的 zoo_sample.cfg 更名为 zoo.cfg 而后点开将里面的 dataDir 设置成你想要的路径,注意在 linux 下可使用绝对路径,可是在 windows 下最好使用相对路径,相对于 zoo.cfg文件,我没有使用相对路径报错了,说找不到 data 目录下的 myid 文件,也有可能windows 下面路径分隔符应该用/分割 二、若是是集群模式也很简单,只要在zoo.cfg 加上以下配置信息:(记住有几台机就要加几行,单机模拟多台机要注意端口号和后面的选举端口号要区别开) server.X=IP:2888:3888 而后把 X 加到dataDir目录下面的 myid 文件中,没有自行建立 记住那个ip,那个端口就对应那个X 这样把天天机子的服务打开 就完事了 还有如下命令,和操做文件目录差很少,能够觉得 zookeeper 自己维护了一个文件系统,因此没难度,之后再研究怎么用 java 去操做它
下面重点研究怎么安装 solrcloud 服务apache
Solr及Tomcat安装配置windows
<!-- lang: java --> (1)下载solr4.2,把solr-4.2.1\example\solr\collection1\conf 目录下的配置文件上传的 zookeeper (2)上传solr配置文件到zookeeper [plain] view plaincopy java -classpath .:/home/weibo/tomcat_solr_qq/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 -confdir /home/weibo/solr-config -confname weiboconfig (3)把配置文件和目标collection联系起来 [plain] view plaincopy java -classpath .:/home/weibo/tomcat_solr_qq/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection weibocollection -confname weiboconfig -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 (4)复制3个tomcat,在conf/Catalina/localhost建立solr.xml(若是目录不存在,请自行建立),内容以下 [plain] view plaincopy <?xml version="1.0" encoding="utf-8"?> <Context docBase="/home/weibo/solr-qq/solr.war" debug="0" corssContext="false" > <Environment name="solr/home" type="java.lang.String" value="/home/weibo/solr-qq/" override="true"/> </Context> crossContext不能设置为true,这里注意 (5)在你的solr home目录建立solr.xml [plain] view plaincopy <?xml version="1.0" encoding="UTF-8" ?> <solr persistent="true"> <cores adminPath="/admin/cores" zkClientTimeout="20000" hostPort="8080"> </cores> </solr> 其余tomcat对应设置对应的端口号 (6)编辑tomcat bin/catalina.sh(windows下catalina.bat),加入 [plain] view plaincopy JAVA_OPTS='-DzkHost=127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381' 这里就是solr和zookeeper交互的地方了 (7)依次启动tomcat,建立core及shard,访问solr