TOMCAT中SOLR3.5迁移为4.0部署文档
基于官网Example A: Simple two shard cluster
一、工具准备
1.1原3. 5版本SOLR/HOME文件
1.2 4.0版本SOLR:apache-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中配置
说明:指定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.html、admin-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修改为本机HOSTNAME名字(默认也可)
hostport修改为SOLR集群运行端口(默认为8983)
每个core 增加一个数据存放位置 例:dataDir="/opt/solr/clusters/collection1"
2.5 修改 solrconfig 配置文件
2.5.1修改配置solrconfig 中
2.5.2修改配置solrconfig 中将
2.5.3 在如下位置增加配置
338行增加
1024启用
768增加
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