solr4.7.2集群搭建(1)

单机部署

https://blog.csdn.net/chy2z/article/details/104166535

系统环境

win7 64位

jdk 7

solr 4.7.2

apache-tomcat-7.0.69

集群部署

1) 先搞定单机部署,不会看上面单机部署文档

2) 假设集群有3个节点,把单机部署好有solr admin的tomcat拷贝3份,sorlhome新建3个

3)修改tomcat端口,防止本机启动3个tomcat端口冲突

 修改3个tomcat的server.xml配置文件

<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8891" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

apache-tomcat-7.0.69-1 端口 8005,8891(服务端口),8009

apache-tomcat-7.0.69-2 端口 8006,8892(服务端口),8010

apache-tomcat-7.0.69-2 端口 8007,8893(服务端口),8011

4) 复制solrcore

将solr-4.7.2中example\solr目录复制到solrhome1,solrhome2,solrhome3目录中

5)修改web.xml

配置3个节点的solrhome目录

apache-tomcat-7.0.69-1\webapps\solr\WEB-INF\web.xml
<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/Soft/solr-cloud/solrhome1/solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

apache-tomcat-7.0.69-2\webapps\solr\WEB-INF\web.xml
<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/Soft/solr-cloud/solrhome2/solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

apache-tomcat-7.0.69-3\webapps\solr\WEB-INF\web.xml
<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/Soft/solr-cloud/solrhome3/solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

6) 修改log日志目录

配置3个节点的log日志目录

apache-tomcat-7.0.69-1\webapps\solr\WEB-INF\classes\log4j.properties
solr.log=/solrcloud/solrlogs1

apache-tomcat-7.0.69-2\webapps\solr\WEB-INF\classes\log4j.properties
solr.log=/solrcloud/solrlogs2

apache-tomcat-7.0.69-3\webapps\solr\WEB-INF\classes\log4j.properties
solr.log=/solrcloud/solrlogs3

7)  修改solr.xml

分别修改solrhome1\solr,solrhome2\solr,solrhome3\solr目录中的solr.xml

solrhome1\solr\solr.xml 配置如下:

<solr>
  <solrcloud>
    <!-- tomcat 服务器ip -->
    <str name="host">127.0.0.1</str>
    <!-- tomcat 端口 -->
    <int name="hostPort">8891</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:0}</int>
    <int name="connTimeout">${connTimeout:0}</int>
  </shardHandlerFactory>
</solr>

 只需要修改tomcat的服务器ip和端口即可,另外2个参照修改。

8) 修改catalina.bat

追加jvm参数,配置zookeeper连接地址以及初始化默认collection1的配置文件到zookeeper的参数

apache-tomcat-7.0.69-1\bin\catalina.bat

rem solr connect zkhost
set SOLR_ZKHOST="-DzkHost=127.0.0.1:2181"
set "JAVA_OPTS=%JAVA_OPTS% %SOLR_ZKHOST%"
set "JAVA_OPTS=%JAVA_OPTS% -Dbootstrap_confdir=/Soft/solr-cloud/solrhome1/solr/collection1/conf -Dcollection.configName=solrconf -DnumShards=2"

-DnumShards=2  分片数量

-Dbootstrap_confdir  本地路径

-Dcollection.configName zk存储路径(/configs/solrconf)  

备注:tomcat在启动后会检测zk是否有collection.configName,如果没有自动上传bootstrap_confdir文件到zk中

apache-tomcat-7.0.69-2\bin\catalina.bat

rem solr connect zkhost
set SOLR_ZKHOST="-DzkHost=127.0.0.1:2181"
set "JAVA_OPTS=%JAVA_OPTS% %SOLR_ZKHOST%"

apache-tomcat-7.0.69-3\bin\catalina.bat

9) 启动zk

      单机zk即可,如果想zk集群部署,请参照zk集群部署

10) 启动tomcat

     启动tomcat1,tomcat2,tomcat3

http://localhost:8891/solr/#/~cloud

http://127.0.0.1:8892/solr/#/~cloud

http://localhost:8893/solr/#/~cloud

 11) solrcloud 

12) zk节点

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值