solr集群

前言:solr本质上就是一个web工程,所以集群就是多跑几个web容器。由于做了集群,需要一个统一管理的工具,这里选择zookeeper。

1,新建solr-cloud集群文件夹。

mkdir /usr/local/solr-cloud

2,将tomcat复制四份到solr-cloud里

cd ~ 

cp -r  apache-tomcat-7.0.85 /usr/local/solr-cloud/tomcat1

cp -r  apache-tomcat-7.0.85 /usr/local/solr-cloud/tomcat2

cp -r  apache-tomcat-7.0.85 /usr/local/solr-cloud/tomcat3

cp -r  apache-tomcat-7.0.85 /usr/local/solr-cloud/tomcat4

3,将单机版的solr复制到这四个tomcat下。

cp -r /usr/local/solr/apache-tomcat-7.0.85/webapps/solr    /usr/local/solr-cloud/tomcat1/webapps/

cp -r /usr/local/solr/apache-tomcat-7.0.85/webapps/solr    /usr/local/solr-cloud/tomcat2/webapps/

cp -r /usr/local/solr/apache-tomcat-7.0.85/webapps/solr    /usr/local/solr-cloud/tomcat3/webapps/

cp -r /usr/local/solr/apache-tomcat-7.0.85/webapps/solr    /usr/local/solr-cloud/tomcat4/webapps/

4,copy四个solrhome到solr-cloud。

 cp -r /root/solr-4.10.3/example/solr /usr/local/solr-cloud/solrhome1

 cp -r /root/solr-4.10.3/example/solr /usr/local/solr-cloud/solrhome2

 cp -r /root/solr-4.10.3/example/solr /usr/local/solr-cloud/solrhome3

 cp -r /root/solr-4.10.3/example/solr /usr/local/solr-cloud/solrhome4

5,将solr和solrhome分别做绑定,并设置solrhome的solr.xml文件。

修改tomcat下的solr工程的web.xml

将下面这句话注释打开,并设置 <env-entry-value>为自己的solrhome路径。

四个solr工程对应四个不同的solrhome

      <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/solr-cloud/solrhome1/</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

修改solr.xml

<solrcloud>
    <str name="host">localhost</str>
    <int name="hostPort">8180</int>

 

四个solr.xm端口号要和tomcat保持一致

 

6,修改tomcat的端口号,不要冲突,并修改catalina.sh。

      四个tomcat都要修改

      tomcat1 改成

      Server port="8105" 

     Connector port="8180" protocol="HTTP/1.1"

     Connector port="8109" protocol="AJP/1.3"

tomcat2 改成

      Server port="8205" 

     Connector port="8280" protocol="HTTP/1.1"

     Connector port="8209" protocol="AJP/1.3"

tomcat3 改成

      Server port="8305" 

     Connector port="8380" protocol="HTTP/1.1"

     Connector port="8309" protocol="AJP/1.3"

tomcat4 改成

      Server port="8405" 

     Connector port="8480" protocol="HTTP/1.1"

     Connector port="8409" protocol="AJP/1.3"

catalina.sh在

/usr/local/solr-cloud/tomcat1/bin 目录下

找到

# Uncomment the following line to make the umask available when using the
# org.apache.catalina.security.SecurityListener
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"

在下面加上

JAVA_OPTS="-DzkHost=localhost:2181,localhost:2182,localhost:2183"

四个tomcat都要加,这里就不重复了

7,将zookeeper复制到当前目录下

cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper1

cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper2

cp zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper3

8,在每个zookeeper下新建data文件夹并新建myid文件

cd /usr/local/solr-cloud/zookeeper1

mkdir data

echo 1 > myid

cd /usr/local/solr-cloud/zookeeper2

mkdir data

echo 2 > myid

cd /usr/local/solr-cloud/zookeeper3

mkdir data

echo 3 > myid

8,将zookeeper的配置文件改名为zoo.cfg,并修改

   mv zoo_example.cfg zoo.cfg

 修改内容为

dataDir=/usr/local/solr-cloud/zookeeper01/data/
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883

  这里需要指定一下端口号和自己新建的data目录,不能冲突,下面的server是zookeeper的集群配置

9,新建脚本文件,启动zookeeper

cd zookeeper01/bin
./zkServer.sh start
cd ../../
cd zookeeper02/bin
./zkServer.sh start
cd ../../
cd zookeeper03/bin
./zkServer.sh start
cd ../../

 

10,上传solr的配置文件交给 zookeeper来统一管理

进入solr的压缩包

cd  /root/solr-4.10.3/example/scripts/cloud-scripts

执行命令

./zkcli.sh -zkhost localhost:2181,localhost:2182,localhost:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome1/collection1/conf/ -confname myconf

11,启动每个tomcat

12,集群完成

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值