SolrCloud和MultiCore的区别

一、SolrCloud 与 MultiCore 的本质区别
SolrCloud 用多台机搭建一个SolrCore(即整个系统只有一套schema,solrconfig)
MultiCore 是多个独立的服务,不同的core可以用几套schema,solrconfig。

二、下面开始安装 SolrCloud (SolrCloud 是一个集群,真实环境下是需要多台机配合工作的,下面我以两台机子为例,一步一步来安装 SolrCloud)
现在我有两台机(没有配置 host,只能直接使用 IP地址):


ip1:202.38.221.64
ip2:202.38.221.50

SolrCloud 服务器是利用 zookeeper 服务器来实现分布式工作的,所以先要安装 zookeeper
下面查看 zookeeper 的官方文档,来介绍如何安装 zookeeper

2.1 安装 zookeeper


下面分 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 版本
    第二步:
    1、如果是单机模式,非常简单,将下载好的文件解压,然后将主目录下面的 conf 目录下自带的 zoo_sample.cfg 改名为 zoo.cfg 然后点开将里面的 dataDir 设置成你想要的路径,注意在 linux 下可以使用绝对路径,但是在 windows 下最好使用相对路径,相对于 zoo.cfg文件,我没有使用相对路径报错了,说找不到 data 目录下的 myid 文件,也有可能windows 下面路径分隔符应该用/分割

    2、如果是集群模式也很简单,只要在zoo.cfg 加上如下配置信息:(记住有几台机就要加几行,单机模拟多台机要注意端口号和后面的选举端口号要区别开)
server.X=IP:2888:3888
然后把 X 加到dataDir目录下面的 myid 文件中,没有自行创建
记住那个ip,那个端口就对应那个X 这样把每天机子的服务打开 就完事了
还有以下命令,和操作文件目录差不多,可以以为 zookeeper 本身维护了一个文件系统,所以没难度,以后再研究怎么用 java 去操作它

下面重点研究怎么安装 solrcloud 服务

Solr及Tomcat安装配置


(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

你可能感兴趣的:(SolrCloud和MultiCore的区别)