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