TOMCATSOLR3.5迁移为4.0部署文档

基于官网Example A: Simple two shard cluster

一、工具准备

1.13. 5版本SOLR/HOME文件

1.2 4.0版本SOLRapache-solr-4.0.0.tgz

1.3 已经能正常运行的TOMCAT模式下的SOLR3. 5环境服务器

二、配置过程

2.1 解压新版本文件

tar zxvf apache-solr-4.0.0.tgz  -C /opt/solr4.0

cp /opt/solr4.0/dist/apache-solr-4.0.0.war /usr/local/tomcat/webapps

unzip apache-solr-4.0.0.war -d /usr/local/tomcat/webapps/solr

2.2 新增文件solr.xml

/usr/local/tomcat/conf/Catalina/localhost新增文件solr.xml

vim /usr/local/tomcat/conf/Catalina/localhost/solr.xml

也可以在/usr/local/tomcat/conf/server.xml中配置

  override="true" />

 

说明:指定SOLR/HOME文件存放位置

2.3 文件复制

2.3.1复制原/usr/local/tomcat/webapps/solr/home目录中所有文件到/opt/solr

2.3.2复制zoo.cfg配置文件到此目录中

2.3.3复制admin-extra.htmladmin-extra.menu-bottom.html admin-extra.menu-top.html到每个CORE CONFIG目录中

2.3.4复制start.jar /usr/local/tomcat/bin目录中

cp /opt/solr4.0 /usr/local/tomcat/bin

 

2.4 修改 solr.xml 配置文件

vim /opt/solr/solr.xml 

  host="${host:}" hostPort="${jetty.port:}" hostContext="${hostContext:}" zkClientTimeout="${zkClientTimeout:15000}">

修改如下:

host修改为本机HOSTNAME名字(默认也可)

hostport修改为SOLR集群运行端口(默认为8983

每个core 增加一个数据存放位置 例:dataDir="/opt/solr/clusters/collection1"

2.5 修改 solrconfig 配置文件

2.5.1修改配置solrconfig LUCENE_40 34修改为40

2.5.2修改配置solrconfig 中将 and 合并为字段

2.5.3 在如下位置增加配置

338行增加

 

      ${solr.data.dir:}

   

1024启用

768增加

 

    

       explicit

       json

       true

       text

    

 

 

 

    

       true

       json

       true

    

 

971行启用

 

                  class="solr.admin.AdminHandlers" />

其它修改(需开发配合开启自动同步)

http://wiki.apache.org/solr/UpdateRequestProcessor

  

    

    

    

    

  

2.6 修改schema.xml 配置文件

160行增加

说明:用于更新版本号也可不加

2.7 修改SOLR/HOME权限

chmod 755 /opt/solr

chown -R tomcat:tomcat /opt/solr (设置目录的权限为执行用户和组所有)

设置程序启动

3.1.主服务器配置

3.1.1未设置开机自动启动

vim /usr/local/tomcat/bin/catalina.sh

20行增加

export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr -Dbootstrap_confdir=/opt/solr/collection1/conf,/opt/solr/order/conf  -Dbootstrap_confdir=/opt/solr/collection1/conf -DzkRun -DnumShards=2  -Dcollection.configName=clusterconf"

说明:

-Dsolr.solr.home  solr/home位置

-DzkRun -DnumShards=2  -Dcollection.configName=clusterconf"

-DzkRun 是启动内置的zookeeper服务器

-Dbootstrap_confdir solr conf的目录

-DnumShards 是指要启动shards的数目

-Dcollection.configName 配置文件的名称

180行修改为

CLASSPATH="$CLASSPATH""$CATALINA_BASE"/bin/tomcat-juli.jar:"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/start.jar

3.1.2使用JSVC启动修改方法

vim /etc/init.d/tomcat

CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m  -Xss128k -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMem

oryError -Dis.schedule.on=true -Dsolr.solr.home=/opt/solr -Dbootstrap_confdir=/opt/solr/collection1/conf,/opt/solr/order/conf  -Dbootstrap_confdir=/opt/solr/collection1/conf -DzkRun -DnumShards=2  -Dcollection.configName=clusterconf "

$CATALINA_HOME/bin/bootstrap.jar下增加并修改为

$CATALINA_HOME/bin/bootstrap.jar\

$CATALINA_HOME/bin/ start.jar

3.2其他服务器配置

3.2.1未设置开机自动启动

vim /usr/local/tomcat/bin/catalina.sh

20行增加

export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr  -DzkHost=域名:9983"

说明:-DzkHost 指定服务器位置及服务端口, 需要在客户端HOSTS中指定服务器的域名

默认情况下,嵌入式zookeeper服务器上运行的Solr端口加1000,所以9983

180行修改为

CLASSPATH="$CLASSPATH""$CATALINA_BASE"/bin/tomcat-juli.jar:"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/start.jar

 

3.2.2使用JSVC启动修改方法

vim /etc/init.d/tomcat

CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m  -Xss128k -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMem

oryError -Dis.schedule.on=true  -Dsolr.solr.home=/opt/solr  -DzkHost=域名:9983"

说明:-DzkHost 指定服务器位置及服务端口, 需要在客户端HOSTS中指定服务器的域名

默认情况下,嵌入式zookeeper服务器上运行的Solr端口加1000,所以9983

例:vim /etc/hosts

"192.168.1.*  域名"

$CATALINA_HOME/bin/bootstrap.jar下增加并修改为

$CATALINA_HOME/bin/bootstrap.jar\

$CATALINA_HOME/bin/ start.jar

参考文献:

http://wiki.apache.org/solr/SolrCloud

http://hi.baidu.com/llz5023/item/0225231023f03f737b5f2577

http://www.sentric.ch/blog/setting-up-solr-4-0-beta-with-tomcat-and-zookeeper