solr4.5集群环境搭建
来源:互联网 发布:521069新域名 编辑:程序博客网 时间:2024/06/14 01:12
solr集群是通过Zookeeper进行管理的,而下载的solr中本身就已经内嵌的Zookeeper了,当然也可以独立开启Zookeeper,我是选择的采用内嵌的Zookeeper的方式
- 将solr-4.5.1/example/webapps/solr.war包发布到tomcat的webapps目录下发布
- 在tomcat/webapps/solr下新建一个solrhhome文件夹,然后将solr-4.5.1/example目录下的solr文件夹复制到solrhome目录下
- 配置tomcat/webapps/solr/WEB-INF下的web.xml文件,
<env-entry-value>E:/apache-tomcat-7.0.16/webapps/solr/solehome/solr配置solr/home,网上有很多种配置方法</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
4. 同样在另外一台或者两台机器上重复以上的步骤
5. 修改tomcat/bin/catalina.bat文件,假设我希望A机器作为Zookeeper的服务器,此机器的ip为192.168.1.100
在文件第一行加上set JAVA_OPTS=-DzkRun -DnumShards=2 -Dbootstrap_confdir=E:/apache-tomcat-7.0.16/webapps/solr/solehome/solr/collection1/conf -Dcollection.configName=myconf
其中-DzkRun代表运行开启内置Zookeeper, -DnumShards=2代表两片分区
6.接下来配置E:/apache-tomcat-7.0.16/webapps/solr/solehome/solr/solr.xml文件,内嵌的Zookeeper端口是solr端口+1000,
<solrcloud>
<str name="host">${host:}</str>
<int name="hostPort">8080-此处修改为你的tomcat端口</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:15000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
7.接下来配置其它两台机器,很简单,首先再一次做第7步的工作,然后编辑tomcat/bin/catalina.bat文件,在第一行加上set JAVA_OPTS=-ZkHost=192.168.1.100:9080
其中ip和端口都是Zookeeper服务器的Ip和端口 【set JAVA_OPTS=-DzkRun -DzkHost=localhost:9080】
8.接下来首先启动Zookeeper所在的服务器,然后启动另外两台服务器,启动好之后,输入http://ip:port/solr/admin就可以看到cloud菜单,就可以看到你想看的了。。
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。以下讲解具体操作步骤:
步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。
主服务器:
在solrConfig.xml中:
Xml代码 收藏代码
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="confFiles">schema.xml,solrconfig_slave.xml:solrconfig.xml</str>
<str name="commitReserveDuration">00:01:00</str>
</lst>
</requestHandler>
说明:
replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。
从服务器:
Xml代码 收藏代码
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="slave">
<str name="masterUrl">http://192.168.172.2:7100/solr/${solr.core.name}/replication</str>
<str name="pollInterval">00:08:00</str>
<!-- external 很容易有索引大小不对, 压缩文件损坏这2个问题, 导致复制无法进行, 且一直复制失败, 测试下来internal没任何问题 -->
<str name="compression">internal</str>
<str name="httpConnTimeout">1000</str>
<str name="httpReadTimeout">2000</str>
</lst>
</requestHandler>
说明:
masterUrl : 主服务器同步URL地址
pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
httpConnTimeout:设置连接超时(单位:毫秒)
httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
httpBasicAuthUser:验证用户名,需要和主服务器一致
httpBasicAuthPassword:验证密码,需和主服务器一致
compression:external or internal 使用SOLR自己的压缩算法或应用容器的
- solr4.5集群环境搭建
- solr4.5集群环境搭建
- tomcat7+Solr4.5环境简单搭建
- solr4.0环境搭建
- solr4.0环境搭建
- Solr4的分布式集群搭建
- apache solr4.3.1 环境搭建
- CentOS6.5下nutch1.7+solr4.8.1+Eclipse环境搭建(二)之solr4.8.1安装
- Solr4.1环境搭建和简单入门
- Solr4.3.1+Tomcat7.0.69的环境搭建
- CentOS6.5下nutch1.7+solr4.8.1+Eclipse环境搭建(一)之nutch1.7安装
- Hadoop环境搭建-集群
- tomcat 集群环境搭建
- hadoop集群环境搭建
- Hbase集群环境搭建
- hadoop1集群环境搭建
- 搭建hadoop集群环境
- Neo4j集群环境搭建
- nginx config php in mac system
- 趣文:如果老婆和女朋友她们是程序
- SUSE 10 下GDB无法查用调用堆栈的解决方案
- 持续集成(一)
- 借助Glances Monitor,密切关注你的系统
- solr4.5集群环境搭建
- ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
- 升级xcode5.1 iOS 6.0后以前的横屏项目 变为了竖屏
- Spring配置事务管理,service端通过@Transactional注解
- ASP.NET MVC 3 网站优化总结(四)使用缓存
- Session的各个监听的使用
- osg demo1 hello,osg
- ASP.NET MVC 3 网站优化总结(五)视图的优化
- 第五届蓝桥杯——入门训练:A+B问题