基于tomcat的solr4.0集群部署
2012-11-29 21:49
549 查看
TOMCAT[/b]中[/b]SOLR3.5[/b]迁移为[/b]4.0[/b]部署文档[/b]
基于官网Example A: Simple two shard cluster
1.2 4.0版本SOLR:apache-solr-4.0.0.tgz
1.3 已经能正常运行的TOMCAT模式下的SOLR3. 5环境服务器
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
vim /usr/local/tomcat/conf/Catalina/localhost/solr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/usr/local/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.string" value="/opt/solr" override="true" />
</Context>
也可以在/usr/local/tomcat/conf/server.xml中配置
<Context path="/solr" docBase="/usr/local/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/opt/solr " override="true" />
</Context>
说明:指定SOLR/HOME文件存放位置
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
<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:}" hostPort="${jetty.port:}" hostContext="${hostContext:}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" dataDir="/opt/solr/clusters/collection1"/>
<core name="order" instanceDir="order" dataDir="/opt/solr/clusters/order"/>
</cores>
</solr>
修改如下:
host修改为本机HOSTNAME名字(默认也可)
hostport修改为SOLR集群运行端口(默认为8983)
每个core 增加一个数据存放位置 例:dataDir="/opt/solr/clusters/collection1"
2.5.2修改配置solrconfig 中将<indexDefaults> and <mainIndex> 合并为字段<indexConfig></indexConfig>
2.5.3 在如下位置增加配置
338行增加
<updateLog>
<str name="dir">${solr.data.dir:}</str>
</updateLog>
1024启用
<requestHandler name="/replication" class="solr.ReplicationHandler" >
768增加
<requestHandler name="/query" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<str name="indent">true</str>
<str name="df">text</str>
</lst>
</requestHandler>
<requestHandler name="/get" class="solr.RealTimeGetHandler">
<lst name="defaults">
<str name="omitHeader">true</str>
<str name="wt">json</str>
<str name="indent">true</str>
</lst>
</requestHandler>
971行启用
<requestHandler name="/admin/"
class="solr.admin.AdminHandlers" />
其它修改(需开发配合开启自动同步) http://wiki.apache.org/solr/UpdateRequestProcessor <updateRequestProcessorChain name="sample">
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="my.package.UpdateFactory"/>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
<field name="_version_" type="long" indexed="true" stored="true"/>
说明:用于更新版本号也可不加
chown -R tomcat:tomcat /opt/solr (设置目录的权限为执行用户和组所有)
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
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
本文出自 “timemaster” 博客,请务必保留此出处http://timemaster.blog.51cto.com/30055/1074436
基于官网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.0cp /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.xmlvim /usr/local/tomcat/conf/Catalina/localhost/solr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/usr/local/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.string" value="/opt/solr" override="true" />
</Context>
也可以在/usr/local/tomcat/conf/server.xml中配置
<Context path="/solr" docBase="/usr/local/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/opt/solr " override="true" />
</Context>
说明:指定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<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:}" hostPort="${jetty.port:}" hostContext="${hostContext:}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" dataDir="/opt/solr/clusters/collection1"/>
<core name="order" instanceDir="order" dataDir="/opt/solr/clusters/order"/>
</cores>
</solr>
修改如下:
host修改为本机HOSTNAME名字(默认也可)
hostport修改为SOLR集群运行端口(默认为8983)
每个core 增加一个数据存放位置 例:dataDir="/opt/solr/clusters/collection1"
2.5 修改 solrconfig 配置文件
2.5.1修改配置solrconfig 中 <luceneMatchVersion>LUCENE_40</luceneMatchVersion> (34修改为40)2.5.2修改配置solrconfig 中将<indexDefaults> and <mainIndex> 合并为字段<indexConfig></indexConfig>
2.5.3 在如下位置增加配置
338行增加
<updateLog>
<str name="dir">${solr.data.dir:}</str>
</updateLog>
1024启用
<requestHandler name="/replication" class="solr.ReplicationHandler" >
768增加
<requestHandler name="/query" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<str name="indent">true</str>
<str name="df">text</str>
</lst>
</requestHandler>
<requestHandler name="/get" class="solr.RealTimeGetHandler">
<lst name="defaults">
<str name="omitHeader">true</str>
<str name="wt">json</str>
<str name="indent">true</str>
</lst>
</requestHandler>
971行启用
<requestHandler name="/admin/"
class="solr.admin.AdminHandlers" />
其它修改(需开发配合开启自动同步) http://wiki.apache.org/solr/UpdateRequestProcessor <updateRequestProcessorChain name="sample">
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="my.package.UpdateFactory"/>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
2.6 修改schema.xml 配置文件
160行增加<field name="_version_" type="long" indexed="true" stored="true"/>
说明:用于更新版本号也可不加
2.7 修改SOLR/HOME权限
chmod 755 /opt/solrchown -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
本文出自 “timemaster” 博客,请务必保留此出处http://timemaster.blog.51cto.com/30055/1074436
相关文章推荐
- 基于Tomcat的Solr3.5集群部署
- 基于tomcat的solr3.5集群部署
- 部署基于tomcat 8 的solrCloud 5.5集群
- 在 Tomcat 6 上部署 Solr 4.0
- SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)
- Linux环境下,web工程基于httpd和tomcat的集群部署
- Solr4.0的tomcat部署及Solrj的简单使用
- solr + tomcat 集群安装与部署
- SolrCloud 分布式集群安装部署(solr+ zookeeper +tomcat)
- Solr4.0的Tomcat部署及Solrj的简单使用教程
- tomcat下部署solr 4.0
- ↑基于httpd反向代理tomcat集群商城的部署↑
- SolrCloud+Solr-4.3.1+Tomcat-8.5.20+zookeeper-3.4.6+mmseg4j-1.9.1分布式集群部署
- solr安装-tomcat+solrCloud构建稳健solr集群
- solr系列一:如何在tomcat下部署solr
- Solr4.10.4集成IK Analyzer部署在tomcat
- solr安装及部署到tomcat
- 基于Docker 分布式部署solrCloud
- centos 6.6 使用tomcat8部署solr5.5.3
- tomcat 启动solr失败异常总结(集群与单机)