一、工具准备 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 <?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/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 |