Centos7:solr伪集群(SolrCloud)搭建
JDK,tocmat环境搭建
zookeeper集群安装
- 解压缩zookeeper的压缩包
 - 创建data目录
 - 复制zoo_sample.cfg为zoo.cfg
 - 修改confg/zoo.cfg中
dataDir=**/data
clientPort=218X - 在zoo.cfg末位添加
 
server.1=192.168.25.128:2881:3881
server.2=192.168.25.128:2882:3882
server.3=192.168.25.128:2883:3883
- data目录下创建一个myid文件,自定义设置zookeeper实例id
 - 复制zookeeper文件夹三份,分别修改zoo.cfg配置,和myid
 
启动zookeeper集群
- 启动脚本
 
cd /usr/local/src/solr-cloud/zookeeper2281/bin
./zkServer.sh start
cd /usr/local/src/solr-cloud/zookeeper2282/bin
./zkServer.sh start
cd /usr/local/src/solr-cloud/zookeeper2283/bin
./zkServer.sh start
cd /usr/local/src
- 查看状态
 
cd /usr/local/src/solr-cloud/zookeeper2281/bin
./zkServer.sh status
cd /usr/local/src/solr-cloud/zookeeper2282/bin
./zkServer.sh status
cd /usr/local/src/solr-cloud/zookeeper2283/bin
./zkServer.sh status
cd /usr/local/src
- 暂停脚本
 
cd /usr/local/src/solr-cloud/zookeeper2281/bin
./zkServer.sh stop
cd /usr/local/src/solr-cloud/zookeeper2282/bin
./zkServer.sh stop
cd /usr/local/src/solr-cloud/zookeeper2283/bin
./zkServer.sh stop
cd /usr/local/src
tomcat集群安装
- 解压安装包
 - 复制4个tomcat
 - 分别配置不同tomcat web.xml三个端口,防止端口冲突
 
部署solr集群
- 将solr分别部署到每一个tomcat中
 - 创建4个目录,分别存放每一个solr对应的solrhome
 
配置zookeeper管理solr配置文件
- 
上传配置文件到zookeeper
命令路径:solr源码/example/scripts/cloud-scripts/
/zkcli.sh -zkhost zookeeper1ip:端口号,zookeeper2ip:端口号,zookeeper3ip:端口号 -cmd upconfig -confdir conf路径 -confname myconf - 
登陆zookeeper服务器查询配置文件
zookeeper路径/bin
./zkCli.sh
/configs/myconf./zkCli.sh -server ip:端口//连接指定ip端口 
配置SolrHome
修改每个solrhome的solr.xml文件
<solrcloud>
    <str name="host">对应solr ip</str>
    <int name="hostPort">对应端口</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>
关联Solr和zookeeper
修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址:
JAVA_OPTS="-DzkHost=zookeeper1ip:端口号,zookeeper2ip:端口号,zookeeper3ip:端口号"
启动solr集群
访问任意一台solr,菜单出现cloud
配置集群
- 添加集群
 
如果集群中有四个solr节点,创建新集群collection2,将集群分为两片,每片两个副本。
http://ip地址/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
附录:
solr集群启动脚本
cd /usr/local/src/solr-cloud/tomcat8180/bin
./startup.sh
cd /usr/local/src/solr-cloud/tomcat8280/bin
./startup.sh
cd /usr/local/src/solr-cloud/tomcat8380/bin
./startup.sh
cd /usr/local/src/solr-cloud/tomcat8480/bin
./startup.sh
cd /usr/local/src
solr集群关闭脚本
cd /usr/local/src/solr-cloud/tomcat8180/bin
./shutdown.sh
cd /usr/local/src/solr-cloud/tomcat8280/bin
./shutdown.sh
cd /usr/local/src/solr-cloud/tomcat8380/bin
./shutdown.sh
cd /usr/local/src/solr-cloud/tomcat8480/bin
./shutdown.sh
cd /usr/local/src
                    
                
                
            
        
浙公网安备 33010602011771号