热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

solr学习第二课----solr安装部署

目录:1.Solr:solr-4.4.02.jdk:jdk-6u13-linux-i586(由于solr采用4.4版本,所以jdk最低版本要求1.6)3.tomcat:apache-tomc

目录:

1. Solr:solr-4.4.0
2. jdk:jdk-6u13-linux-i586  (由于solr采用4.4版本,所以jdk最低版本要求1.6)
3. tomcat:apache-tomcat-7.0.42.tar

4. 中文分词: IK Analyzer 2012FF_hf1

5. Slave环境通过复制Master来搭建


安装jdk及tomcat过程
其中需要配置tomcat最大链接数,可参考:
               cOnnectionTimeout="20000"
               redirectPort="8443" maxThreads="1000" minSpareThreads="100" maxSpareThreads="200" acceptCount="1000" URIEncoding="UTF-8"/>


minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false 
connectionTimeout: 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。 
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。 


安装solr
--------------------------------
第一步:测试环境
服务器1(Master)
操作系统:      Centos 6.2
IP:            192.168.17.128:9080
JDK:           Sun JDK 1.6
Web服务器:     Apache Tomcat6
Solr版本:      Solr4.4.0


服务器2(Slave)
操作系统:      Centos 6.2
IP:            192.168.17.128:9081
JDK:           Sun JDK 1.6
Web服务器:     Apache Tomcat6
Solr版本:      Solr4.4.0
--------------------------------
1. 拷贝solr.war到tomcat目录
#cp -rf solr-4.4.0/example/webapps/solr.war /usr/local/apache-tomcat-7.0.42/webapps/solr.war


2. 创建solr工作主目录
[root@demoserver ~]# mkdir -p /home/solr/master/solr4server
[root@demoserver ~]# mkdir -p /home/solr/master/solr4home
[root@demoserver ~]# mkdir -p /home/solr/slave/solr4server
[root@demoserver ~]# mkdir -p /home/solr/slave/solr4home


[root@demoserver solr]# pwd
/home/solr
[root@demoserver solr]# ll
total 16
drwxr-xr-x. 2 root root 4096 Jan 27 20:14 solr4home
drwxr-xr-x. 2 root root 4096 Jan 27 20:15 solr4home
drwxr-xr-x. 2 root root 4096 Jan 27 20:14 solr4server
drwxr-xr-x. 2 root root 4096 Jan 27 20:15 solr4server
[root@demoserver solr]# cp -a . /home/solr/master/solr4home/
[root@demoserver solr]# cp -a . /home/solr/slave/solr4home/




[root@demoserver local]# cd tomcat/
[root@demoserver tomcat]# ll
total 88
drwxr-xr-x. 2 root root  4096 Jan 27 01:35 bin
drwxr-xr-x. 3 root root  4096 Jan 27 04:51 conf
drwxr-xr-x. 2 root root  4096 Jan 27 01:35 lib
-rw-r--r--. 1 root root 37951 Jan 27 01:35 LICENSE
drwxr-xr-x. 2 root root  4096 Jan 27 04:51 logs
-rw-r--r--. 1 root root   556 Jan 27 01:35 NOTICE
-rw-r--r--. 1 root root  7317 Jan 27 01:35 RELEASE-NOTES
-rw-r--r--. 1 root root  6368 Jan 27 01:35 RUNNING.txt
drwxr-xr-x. 2 root root  4096 Jan 27 01:35 temp
drwxr-xr-x. 7 root root  4096 Jan 27 01:35 webapps
drwxr-xr-x. 3 root root  4096 Jan 27 04:51 work
[root@demoserver tomcat]# cp -R . /home/solr/master/solr4server/




3. 配置solrhome
[root@demoserver bin]# vi /home/solr/master/solr4server_master/bin/catalina.sh
# -----------------------------------------------------------------------------
# configure at 2014/2/14 at in catalina.sh
export JAVA_HOME=/usr/local/jdk
export SOLR_HOME=/home/solr/master
export JAVA_OPTS="$JAVA_OPTS -server -Xmx1024m -Xms512m -Dsolr.solr.home=$SOLR_HOME/solr4home/"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$SOLR_HOME/solr4server
export CATALINA_BASE=$SOLR_HOME/solr4server




3. 拷贝solr启动的依赖文件
* 复制example/lib/ext目录中的jar包到项目的classpath下,可以将这些jar包放到%TOMCAT_HOME%/lib下,
也可以将它们放到项目的lib下(在我的电脑上是/webapps/solr/WEB-INF/lib);
* example/resources/log4j.properties也拷到classpath(我在/solr_server/webapps/solr/目录下新建了一个classes目录,
放log4j.properties放了进去);




4. 配置好后可以直接启动tomcat
[root@demoserver bin]# pwd
/home/solr/master/solr4server/bin
[root@demoserver bin]# ./startup.sh 


5. 如果第三步没有执行这时会无法访问,solr4.4.0需要拷贝一些jar
# cp solr-4.4.0/example/lib/ext/* /usr/local/apache-tomcat-7.0.42/webapps/solr/WEB-INF/lib/
# cp solr-4.4.0/example/resources/log4j.properties /usr/local/apache-tomcat-7.0.42/lib/


6. 重启tomcat,访问URL http://10.248.12.135:9080/solr


http://blog.csdn.net/natureice/article/details/9109351export JAVA_HOME=/usr/java/jdk1.6.0_38
export SOLR_HOME=/usr/local/solr/solr1
export JAVA_OPTS="$JAVA_OPTS -server -Xmx1024m -Xms512m -Dsolr.solr.home=$SOLR_HOME/solrhome/"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$SOLR_HOME/tomcat
export CATALINA_BASE=$SOLR_HOME/tomcat
7.查看启动过日志
错误信息 : 
INFO  - 2014-02-16 11:50:04.751; org.apache.solr.handler.component.QueryElevationComponent; Loading QueryElevation from: /home/solr/master/solr4home/collection1/conf/elevate.xml
Feb 16, 2014 11:50:10 AM org.apache.catalina.connector.Connector pause
SEVERE: Protocol handler pause failed
java.net.UnknownHostException: demoserver: demoserver
        at java.net.InetAddress.getLocalHost(InetAddress.java:1402)
        at org.apache.jk.common.ChannelSocket.unLockSocket(ChannelSocket.java:485)
        at org.apache.jk.common.ChannelSocket.pause(ChannelSocket.java:284)
        at org.apache.jk.server.JkMain.pause(JkMain.java:683)
        at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153)
        at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
        at org.apache.catalina.core.StandardService.stop(StandardService.java:563)
        at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
        at org.apache.catalina.startup.Catalina.stop(Catalina.java:633)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:608)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Feb 16, 2014 11:50:11 AM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
解决方案: 
That is related with 
hostname
and 
/etc/hosts
If /etc/hosts doesn't containt the definition of the hostname it fails. 
Just add your hostname to /etc/hosts for example
if your hostname is work add or modified the following line:
127.0.0.1   work        localhost
通过以上配置后ok。


访问solr服务

http://192.168.17.128:9080/solr/#/







中文分词IK Analyzer 2012FF_hf1配置与安装
1. 下载IK+Analyzer+2012FF_hf1.zip分词的安装包
用到其中三个文件:
IKAnalyzer2012FF_u1.jar,放到$CATALINA_HOME/webapps/solr/WEB-INF/lib/目录下
IKAnalyzer.cfg.xml,stopword.dic,放到$CATALINA_HOME/webapps/solr/WEB-INF/classes/目录下,
如果classes目录没有,可以手动创建一个。


2.将分词配置到solr的配置文件中
#vi /usr/local/solrhome/collection1/conf/schema.xml,添加如下内容:





3.将需要建立索引的域添加到schema.xml中

   




















4.最后重启tomcat,查看分词效果

     

  

   Slave环境通过复制Master来搭建

       1. 复制Master中的服务和solrhome
[root@demoserver solr]# ll
total 8
drwxr-xr-x. 4 root root 4096 Jan 29 14:17 master
drwxr-xr-x. 2 root root 4096 Feb 16 15:07 slave
[root@demoserver solr]# cp -R master/* slave/
[root@demoserver solr]# pwd
/home/solr
[root@demoserver solr]# cd slave/
[root@demoserver slave]# ll
total 8
drwxr-xr-x. 4 root root 4096 Feb 16 15:08 solr4home
drwxr-xr-x. 9 root root 4096 Feb 16 15:08 solr4server
2. 修改solr4server中的启动参数
[root@demoserver bin]# vi catalina.sh 

        # configure solr slave  2014/2/14 at in  catalina.sh
export JAVA_HOME=/usr/local/jdk
export SOLR_HOME=/home/solr/slave
export JAVA_OPTS="$JAVA_OPTS -server -Xmx1024m -Xms512m -Dsolr.solr.home=$SOLR_HOME/solr4home/"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$SOLR_HOME/solr4server
export CATALINA_BASE=$SOLR_HOME/solr4server


3. 修改服务器的端口
[root@demoserver conf]# pwd
/home/solr/slave/solr4server/conf
编辑 server.xml ,修改port为从原来8080到9081
   cOnnectionTimeout="20000"
redirectPort="8443"
maxThreads="1000" minSpareThreads="100" maxSpareThreads="200" acceptCount="1000" URIEncoding="UTF-8"/>


    编辑 server.xml ,修改port为从8005到9005


4. 主从复制搭建过程
第一步:修改主:solrconfig.xml文件(目前设置的同步周期为一分钟,具体可视生产环境的具体环境而定。)
在Master的配置文件中添加一个RequestHandler,RequestHandler是复制在Master端的主要手段,Slave会定期向这个RequestHandler发送请求,并完成索引文件的同步;
Master负责写数据(Write_A)到从服务器中;
replicateAfter说明什么时候进行复制,取值可以是startup, commit, optimize分别是创建索引、提交索引、优化索引之后。每当这些动作执行结束后,Slave就可以从Master上进行复制了;


Write_A 作为Master,solrconfig.xml 找到  



 

修改后内容:



commit

startup





solrconfig_slave.xml:solrconfig.xml,schema.xml,stopwords.txt,elevate.xml

admin
123456



第二步:从solr 文件
Slave负责读数据(Read_B)到从服务器内容。
属性值是一个url,指向了Master服务器上的提供复制功能的requestHandler, 
master_host:master服务器的IP或主机名 
port:master服务器上部署solr应用的tomcat端口 
solr:solr的web应用名称 
corename: solr中的core,关于core的概念请参考相关文档。由于本案例中不涉及多个core,所以此处的url中可以去掉这项,也不对core进行过多的说明。 
replaction: Master上提供复制的requestHandler名称,也就是requestHandler的name属性的取值。 
00:00:20是Slave定期检测Master的时间,格式是HH:mm:ss。这里配置的时间是20秒,因此Slave每个20秒会主动请求一次Master服务器,获得Master服务器上索引文件的状态,比如最后修改时间,文件尺寸等,如果与本机的索引文件不同就进行复制,实现同步。 


Read_B 作为Slave,solrconfig.xml 找到




http://192.168.17.128:9080/solr/replication

00:00:60

internal

5000
10000

admin
123456




关于主从复制搭建过程请继续关注后续课程。
第三步:索引复制后通过日志分析
INFO  - 2014-02-16 15:41:00.014; org.apache.solr.handler.SnapPuller; Master's generation: 2
INFO  - 2014-02-16 15:41:00.016; org.apache.solr.handler.SnapPuller; Slave's generation: 1
INFO  - 2014-02-16 15:41:00.016; org.apache.solr.handler.SnapPuller; Starting replication process
INFO  - 2014-02-16 15:41:00.061; org.apache.solr.handler.SnapPuller; Number of files in latest index in master: 21
INFO  - 2014-02-16 15:41:00.063; org.apache.solr.core.CachingDirectoryFactory; return new directory for /home/solr/slave/solr4home/collection1/data/index.20140216154100062
INFO  - 2014-02-16 15:41:00.064; org.apache.solr.handler.SnapPuller; Starting download to NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/solr/slave/solr4home/collection1/data/index.20140216154100062 lockFactory=org.apache.lucene.store.NativeFSLockFactory@4df93ace; maxCacheMB=48.0 maxMergeSizeMB=4.0) fullCopy=false
INFO  - 2014-02-16 15:41:07.641; org.apache.solr.handler.SnapPuller; Total time taken for download : 7 secs
INFO  - 2014-02-16 15:41:07.665; org.apache.solr.update.DefaultSolrCoreState; Closing IndexWriter...
INFO  - 2014-02-16 15:41:07.667; org.apache.solr.update.DefaultSolrCoreState; Waiting until IndexWriter is unused... core=collection1
INFO  - 2014-02-16 15:41:07.669; org.apache.solr.update.DefaultSolrCoreState; Creating new IndexWriter...
INFO  - 2014-02-16 15:41:07.789; org.apache.solr.core.SolrDeletionPolicy; SolrDeletionPolicy.onInit: commits: num=2
commit{dir=NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/solr/slave/solr4home/collection1/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@3600e312; maxCacheMB=48.0 maxMergeSizeMB=4.0),segFN=segments_1,generation=1}
commit{dir=NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/solr/slave/solr4home/collection1/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@3600e312; maxCacheMB=48.0 maxMergeSizeMB=4.0),segFN=segments_2,generation=2}
INFO  - 2014-02-16 15:41:07.796; org.apache.solr.core.SolrDeletionPolicy; newest commit generation = 2
INFO  - 2014-02-16 15:41:07.799; org.apache.solr.update.DefaultSolrCoreState; New IndexWriter is ready to be used.
INFO  - 2014-02-16 15:41:07.854; org.apache.solr.search.SolrIndexSearcher; Opening Searcher@4ad61301 main
INFO  - 2014-02-16 15:41:07.860; org.apache.solr.core.QuerySenderListener; QuerySenderListener sending requests to Searcher@4ad61301 main{StandardDirectoryReader(segments_2:5:nrt _0(4.4):C1 _1(4.4):C1)}
INFO  - 2014-02-16 15:41:07.860; org.apache.solr.core.QuerySenderListener; QuerySenderListener done.
INFO  - 2014-02-16 15:41:07.868; org.apache.solr.core.SolrCore; [collection1] Registered new searcher Searcher@4ad61301 main{StandardDirectoryReader(segments_2:5:nrt _0(4.4):C1 _1(4.4):C1)}
INFO  - 2014-02-16 15:41:07.869; org.apache.solr.core.CachingDirectoryFactory; looking to close /home/solr/slave/solr4home/collection1/data/index.20140216154100062 [CachedDir<>]
INFO  - 2014-02-16 15:41:07.869; org.apache.solr.core.CachingDirectoryFactory; Closing directory: /home/solr/slave/solr4home/collection1/data/index.20140216154100062
INFO  - 2014-02-16 15:41:07.870; org.apache.solr.core.CachingDirectoryFactory; Removing directory before core close: /home/solr/slave/solr4home/collection1/data/index.20140216154100062
INFO  - 2014-02-16 15:42:00.011; org.apache.solr.handler.SnapPuller; Slave in sync with master.
INFO  - 2014-02-16 15:43:00.010; org.apache.solr.handler.SnapPuller; Slave in sync with master.
INFO  - 2014-02-16 15:44:00.007; org.apache.solr.handler.SnapPuller; Slave in sync with master.
INFO  - 2014-02-16 15:45:00.008; org.apache.solr.handler.SnapPuller; Slave in sync with master.
INFO  - 2014-02-16 15:46:00.010; org.apache.solr.handler.SnapPuller; Slave in sync with master.


INFO  - 2014-02-16 15:47:00.010; org.apache.solr.handler.SnapPuller; Master's generation: 3
INFO  - 2014-02-16 15:47:00.012; org.apache.solr.handler.SnapPuller; Slave's generation: 2
INFO  - 2014-02-16 15:47:00.013; org.apache.solr.handler.SnapPuller; Starting replication process
INFO  - 2014-02-16 15:47:00.037; org.apache.solr.handler.SnapPuller; Number of files in latest index in master: 31
INFO  - 2014-02-16 15:47:00.039; org.apache.solr.core.CachingDirectoryFactory; return new directory for /home/solr/slave/solr4home/collection1/data/index.20140216154700039
INFO  - 2014-02-16 15:47:00.057; org.apache.solr.handler.SnapPuller; Starting download to NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/solr/slave/solr4home/collection1/data/index.20140216154700039 lockFactory=org.apache.lucene.store.NativeFSLockFactory@6b1ce2ad; maxCacheMB=48.0 maxMergeSizeMB=4.0) fullCopy=false
INFO  - 2014-02-16 15:47:00.106; org.apache.solr.handler.SnapPuller; Skipping download for _1_Lucene41_0.doc because it already exists
INFO  - 2014-02-16 15:47:00.125; org.apache.solr.handler.SnapPuller; Skipping download for _0_Lucene41_0.pos because it already exists
INFO  - 2014-02-16 15:47:00.138; org.apache.solr.handler.SnapPuller; Skipping download for _1.fnm because it already exists
INFO  - 2014-02-16 15:47:00.139; org.apache.solr.handler.SnapPuller; Skipping download for _0.nvd because it already exists
INFO  - 2014-02-16 15:47:00.139; org.apache.solr.handler.SnapPuller; Skipping download for _0.si because it already exists
INFO  - 2014-02-16 15:47:00.139; org.apache.solr.handler.SnapPuller; Skipping download for _0_Lucene41_0.tim because it already exists
INFO  - 2014-02-16 15:47:00.142; org.apache.solr.handler.SnapPuller; Skipping download for _0_Lucene41_0.tip because it already exists
INFO  - 2014-02-16 15:47:00.143; org.apache.solr.handler.SnapPuller; Skipping download for _1.nvm because it already exists
INFO  - 2014-02-16 15:47:00.143; org.apache.solr.handler.SnapPuller; Skipping download for _0.fnm because it already exists
INFO  - 2014-02-16 15:47:00.143; org.apache.solr.handler.SnapPuller; Skipping download for _1_Lucene41_0.tim because it already exists
INFO  - 2014-02-16 15:47:00.144; org.apache.solr.handler.SnapPuller; Skipping download for _1.nvd because it already exists
INFO  - 2014-02-16 15:47:00.163; org.apache.solr.handler.SnapPuller; Skipping download for _1_Lucene41_0.tip because it already exists
INFO  - 2014-02-16 15:47:00.179; org.apache.solr.handler.SnapPuller; Skipping download for _0.nvm because it already exists
INFO  - 2014-02-16 15:47:00.201; org.apache.solr.handler.SnapPuller; Skipping download for _1.fdx because it already exists
INFO  - 2014-02-16 15:47:00.202; org.apache.solr.handler.SnapPuller; Skipping download for _1_Lucene41_0.pos because it already exists
INFO  - 2014-02-16 15:47:00.220; org.apache.solr.handler.SnapPuller; Skipping download for _1.fdt because it already exists
INFO  - 2014-02-16 15:47:00.220; org.apache.solr.handler.SnapPuller; Skipping download for _0_Lucene41_0.doc because it already exists
INFO  - 2014-02-16 15:47:00.220; org.apache.solr.handler.SnapPuller; Skipping download for _1.si because it already exists
INFO  - 2014-02-16 15:47:00.242; org.apache.solr.handler.SnapPuller; Skipping download for _0.fdx because it already exists
INFO  - 2014-02-16 15:47:00.259; org.apache.solr.handler.SnapPuller; Skipping download for _0.fdt because it already exists
INFO  - 2014-02-16 15:47:00.260; org.apache.solr.handler.SnapPuller; Total time taken for download : 0 secs
INFO  - 2014-02-16 15:47:00.261; org.apache.solr.upda te.DefaultSolrCoreState; Closing IndexWriter...
INFO  - 2014-02-16 15:47:00.261; org.apache.solr.update.DefaultSolrCoreState; Waiting until IndexWriter is unused... core=collection1
INFO  - 2014-02-16 15:47:00.262; org.apache.solr.update.DefaultSolrCoreState; R ollback old IndexWriter... core=collection1
INFO  - 2014-02-16 15:47:00.273; org.apache.solr.update.DefaultSolrCoreState; Creating new IndexWriter...
INFO  - 2014-02-16 15:47:00.320; org.apache.solr.core.SolrDeletionPolicy; SolrDeletionPolicy.onInit: commits: num=2
commit{dir=NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/solr/slave/solr4home/collection1/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@3600e312; maxCacheMB=48.0 maxMergeSizeMB=4.0),segFN=segments_2,generation=2}
commit{dir=NRTCachingDirectory(org.apache.lucene.store.MMapDirectory@/home/solr/slave/solr4home/collection1/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@3600e312; maxCacheMB=48.0 maxMergeSizeMB=4.0),segFN=segments_3,generation=3}
INFO  - 2014-02-16 15:47:00.321; org.apache.solr.core.SolrDeletionPolicy; newest commit generation = 3
INFO  - 2014-02-16 15:47:00.324; org.apache.solr.update. DefaultSolrCoreState; New IndexWriter is ready to be used.
INFO  - 2014-02-16 15:47:00.349; org.apache.solr.search.SolrIndexSearcher; Opening Searcher@123e1d25 main
INFO  - 2014-02-16 15:47:00.350; org.apache.solr.core.QuerySenderListener; QuerySenderListener sending requests to Searcher@123e1d25 main{StandardDirectoryReader(segments_3:7:nrt _0(4.4):C1 _1(4.4):C1 _2(4.4):C1)}
INFO  - 2014-02-16 15:47:00.350; org.apache.solr.core.QuerySenderListener; QuerySenderListener done.
INFO  - 2014-02-16 15:47:00.369; org.apache.solr.core.SolrCore; [collection1] Registered new searcher Searcher@123e1d25 main{StandardDirectoryReader(segments_3:7:nrt _0(4.4):C1 _1(4.4):C1 _2(4.4):C1)}
INFO  - 2014-02-16 15:47:00.374; org.apache.solr.core.CachingDirectoryFactory; looking to close /home/solr/slave/solr4home/collection1/data/index.20140216154700039 [CachedDir<>]
INFO  - 2014-02-16 15:47:00.375; org.apache.solr.core.CachingDirectoryFactory; Closing directory: /home/solr/slave/solr4home/collection1/data/index.20140216154700039
INFO  - 2014-02-16 15:47:00.375; org.apache.solr.core.CachingDirectoryFactory; Removing directory before core close: /home/solr/slave/solr4home/collection1/data/index.20140216154700039
INFO  - 2014-02-16 15:48:00.010; org.apache.solr.handler.SnapPuller; Slave in sync with master.


首先,Slave服务器每个一分钟向Master的replication发送一个请求,Master执行replication请求,Master主要通过sync
方式把索引的快照同步给Slave服务器,



       


推荐阅读
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 一、Tomcat安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat8.0\webapps二、Tomcat8.0配置多个端口,其实也就是给T ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
author-avatar
工农大路店NOKIA客户服务中心
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有