设为首页 收藏本站
查看: 1529|回复: 0

[经验分享] Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建

[复制链接]

尚未签到

发表于 2015-7-17 09:50:34 | 显示全部楼层 |阅读模式
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
  由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突。所以只能在Eclipse 搭建Solr的环境,折腾了一小时终于完成了。

1. JDPA远程调试
  搭建换完成Solr环境后,对${TOMCAT_HOME}/bin/startup.sh 最后一行进行修改,如下所示:



1 set JPDA_ADDRESS=7070
2 exec "$PRGDIR"/"$EXECUTABLE" jpda  start "$@"
  后在eclipse新建debug配置,这样就可以远程调试solr了,要注意服务器端Solr.war包的代码与eclipse的Solr代码一致。
DSC0000.png
  

二.Eclipse 的Solr环境搭建

2.1 Solr的编译
  进入solr的目录,运行ant:



1 192:solr-4.8.0 rcf$ ant
2 Buildfile: /Users/rcf/workspace/java/solr/solr-4.8.0/build.xml
3
4 -projecthelp:
5         [-] Buildfile: /Users/rcf/workspace/java/solr/solr-4.8.0/build.xml
6
7 Main targets:
8
9  check-svn-working-copy       Checks the status of the SVN working copy
10  clean                        Clean Lucene and Solr build dirs
11  clean-eclipse                Removes all Eclipse configuration files
12  clean-idea                   Removes all IntelliJ IDEA configuration files
13  clean-jars                   Remove all JAR files from lib folders in the checkout
14  clean-maven-build            Clean up Maven POMs in working copy
15  clean-netbeans               Removes all Netbeans configuration files
16  compile                      Compile Lucene and Solr
17  compile-test                 Compile Lucene and Solr tests and test-frameworks
18  documentation                Generate Lucene and Solr Documentation
19  documentation-lint           Validates the generated documentation (HTML errors, broken links,...)
20  eclipse                      Setup Eclipse configuration
21  generate-maven-artifacts     Generate Maven Artifacts for Lucene and Solr
22  get-maven-poms               Copy Maven POMs from dev-tools/maven/ to maven-build/
23  idea                         Setup IntelliJ IDEA configuration
24  ivy-bootstrap                Download and install Ivy in the users ant lib dir
25  jar                          Build Lucene and Solr Jar files
26  jar-checksums                Recompute SHA1 checksums for all JAR files.
27  jar-src                      Build Lucene and Solr Source Jar files
28  netbeans                     Setup Netbeans configuration
29  nightly-smoke                Builds an unsigned release and smoke tests it
30  pitest                       Run PITest on both Lucene and Solr
31  precommit                    Run basic checks before committing
32  rat-sources                  Runs rat across all sources and tests
33  regenerate                   Runs all code regenerators
34  remove-maven-artifacts       Removes all Lucene/Solr Maven artifacts from the local repository
35  resolve                      Resolves all dependencies
36  run-clover                   Runs all tests to measure coverage and generates report (pass "ANT_OPTS=-Xmx1536M" as environment)
37  run-maven-build              Runs the Maven build using automatically generated POMs
38  test                         Test both Lucene and Solr
39  test-help                    Test runner help
40  test-with-heapdumps          Runs tests with heap dumps on OOM enabled (if VM supports this)
41  validate                     Validate dependencies, licenses, etc.
42  validate-maven-dependencies  Validates maven dependencies, licenses, etc.
43 Default target: -projecthelp
44
45 BUILD SUCCESSFUL
46 Total time: 0 seconds
  运行 ant eclipse就可以对solr源码进行编译成eclipse工程。在编译ant eclipse时候可能会失败,这是可以运行 ant ivy-bootstrap

2.2 将eclipse工程转换成WEB工程
  将编译好的solr工程导入eclipse,后右键点击Properties,选中Project Facets,如图所示
DSC0001.png
  选择OK后,就转换Solr的WEB工程了,这是有些xml文件会出现错误的红叉叉,不用管它。

2.3 solr.war包生成
  进入solr/solr目录,运行ant dist,如下图所示



1 192:~ rcf$ cd /Users/rcf/workspace/java/solr/solr-4.8.0/solr
2 192:solr rcf$ ls
3 CHANGES.txt        README.txt        build.xml        contrib            docs            package            solrj
4 LICENSE.txt        SYSTEM_REQUIREMENTS.txt    cloud-dev        core            example            scripts            test-framework
5 NOTICE.txt        build            common-build.xml    dist            licenses        site            webapp
6 192:solr rcf$ ant dist
7 Buildfile: /Users/rcf/workspace/java/solr/solr-4.8.0/solr/build.xml
8      [echo] Building solr...
9
10 init-dist:
11
12 dist-solrj:
13      [echo] Building solr-solrj...
14
15 check-lucene-core-uptodate:
16
17 jar-lucene-core:
  编译完成后会再dist目录下生产solr.war包

2.4 solr配置
  1. 将solr.war copy到solr/WebContent目录下并进行解压。
  2. 在WebRoot/META-INF目下创建context.xml 文件,配置solr/home。



1
2  
3         
4  
  3. 创建solr/home,在里面放入solr.xml



1
2
3     
4         ${host:}
5         ${jetty.port:8983}
6         ${hostContext:solr}
7         ${zkClientTimeout:30000}
8         ${genericCoreNodeNames:true}
9     
10     
11         ${socketTimeout:0}
12         ${connTimeout:0}
13     
14  
  4.这样就可以进行调试solr了。
DSC0002.png
  

三.Solr环境搭建
  真实的solr环境搭建,跟eclipse的环境搭建类似,主要分为以下几步:
  1. 对solr源码进行编译,ant dist生成solr.war
  2. 下载tomcat并进行安装(tomcat的配置并不需要修改)
  3. 将solr.war 复制到 ${TOMCAT_HOME}/wepapps目录下并将solr.war包解压成solr目录
  4. 将solr/dist目录下的jar包全部拷贝到${TOMCAT_HOME}/wepapps/solr/lib目录下
  5. 在${TOMCAT_HOME}/conf/Catalina/localhost/创建solr.xml,里面设置了solr/home



1
2      
3
  6. 创建solr/home,也创建solr.xml



1
2  
3      
4          ${host:}
5          ${jetty.port:8983}
6          ${hostContext:solr}
7          ${zkClientTimeout:30000}
8          ${genericCoreNodeNames:true}
9      
10      
11          ${socketTimeout:0}
12          ${connTimeout:0}
13      
14   
  7. 在将solr源码包里的log4j.properties 拷贝到${TOMCAT_HOME}/lib目录下,并修改log文件路径



1   1 #  Logging level
2   2 solr.log=/Users/rcf/workspace/java/tomcat/apache-tomcat-8.0.9/logs
3   3 log4j.rootLogger=INFO, file, CONSOLE
4   4
5   5 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
6   6
7   7 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
8   8 log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n
9   9
10  10 #- size rotation with log cleanup.
11  11 log4j.appender.file=org.apache.log4j.RollingFileAppender
12  12 log4j.appender.file.MaxFileSize=4MB
13  13 log4j.appender.file.MaxBackupIndex=9
14  14
15  15 #- File to log to and log format
16  16 log4j.appender.file.File=${solr.log}/solr.log
17  17 log4j.appender.file.layout=org.apache.log4j.PatternLayout
18  18 log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n
19  19
20  20 log4j.logger.org.apache.zookeeper=WARN
21  21 log4j.logger.org.apache.hadoop=WARN
22  22
23  23 # set to INFO to enable infostream log messages
24  24 log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87545-1-1.html 上篇帖子: Using Lucene's new QueryParser framework in Solr 下篇帖子: 让Solr返回JSON数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表