本案例使用軟件爲solr-5.5.1.tgz 和apache-tomcat-8.5.51.tar.gz ,可以分別到solr和tomcat官網下載文件;
單機solr的話有也可以不用tomcat ;solr自帶的 bin/solr restart 也可以啓動;
後面的博客,我將用兩種方式實現solr cloud 集羣;一個是以本案例爲基礎,一個是以solr本身基礎實現
需要注意:
1. solr 5以上版本必須使用tomcat8以上版本,不然會報錯,無法瀏覽器打開solr webUI;
2. tomcat的安裝要依賴jdk, 沒有在/etc/profile配置jdk環境變量的同學,請查看我oracle jdk替換open jdk的案例;
1. 上傳tar.gz文件centos7服務器/data/solrcloud 目錄,並解壓文件
#進入目錄
cd /data/solrcloud
#解壓文件
tar -zxvf apache-tomcat-8.5.51.tar.gz
tar -zxvf solr-5.5.1.tgz
#查看
[root@SHB-L0120794 solrcloud]# ll
total 180544
drwxr-xr-x 9 root root 4096 Mar 18 09:44 apache-tomcat-8.5.51
-rw-r--r-- 1 root root 10315164 Mar 17 16:03 apache-tomcat-8.5.51.tar.gz
-rw-r--r-- 1 root root 136787787 Mar 17 14:49 solr-5.5.1.tgz
2.爲方便使用,我重命名解壓後的文件夾爲solr5.5和tomcat8,希望給同學們沒有造成困擾;
複製/data/solrcloud/solr5.5/server/solr-webapp/webapp文件夾,到tomcat的webapps文件下,並重命名webapp,是其固定名稱爲solr;
#複製
cp -r /data/solrcloud/solr5.5/server/solr-webapp/webapp /data/solrcloud/tomcat8/webapps/solr
#查看
[root@SHB-L0120794 webapps]# ll
total 24
drwxr-x--- 16 root root 4096 Mar 17 16:06 docs
drwxr-x--- 6 root root 4096 Mar 17 16:06 examples
drwxr-x--- 5 root root 4096 Mar 17 16:06 host-manager
drwxr-x--- 5 root root 4096 Mar 17 16:06 manager
drwxr-x--- 3 root root 4096 Mar 17 16:06 ROOT
drwxr-xr-x 9 root root 4096 Mar 17 16:18 solr
[root@SHB-L0120794 webapps]# pwd
/data/solrcloud/tomcat8/webapps
3.在tomcat8下的/webapps/solr/WEB-INF/ 下,創建classes文件夾;
將solr5.5/server/resources/log4j.properties 拷貝到classes目錄中
#查看
[root@SHB-L0120794 classes]# pwd
/data/solrcloud/tomcat8/webapps/solr/WEB-INF/classes
[root@SHB-L0120794 classes]# ll
total 4
-rw-r--r-- 1 root root 971 Mar 17 16:34 log4j.properties
4. 修改log4j.properties文件,
log4j.appender.file.File=${catalina.home}/logs/solr/solr.log ;
目的是讓solr日誌和tomcat的日誌分離,方便管理和查看;
[root@SHB-L0120794 classes]# vim log4j.properties
# Logging level
solr.log=logs
log4j.rootLogger=INFO, file, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
#- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=4MB
log4j.appender.file.MaxBackupIndex=9
#- File to log to and log format
log4j.appender.file.File=${catalina.home}/logs/solr/solr.log
log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m\n
log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN
# set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF
5.將/data/solrcloud/solr5.5/server/lib/ext目錄所有jar包拷貝到tomcat8下的/webapps/solr/WEB-INF/lib目錄中
#查看
[root@SHB-L0120794 classes]# cd /data/solrcloud/solr5.5/server/lib/ext
[root@SHB-L0120794 ext]# ll
total 552
-rw-r--r-- 1 root root 16519 Apr 4 2014 jcl-over-slf4j-1.7.7.jar
-rw-r--r-- 1 root root 4730 Apr 4 2014 jul-to-slf4j-1.7.7.jar
-rw-r--r-- 1 root root 489884 May 26 2012 log4j-1.2.17.jar
-rw-r--r-- 1 root root 29257 Apr 4 2014 slf4j-api-1.7.7.jar
-rw-r--r-- 1 root root 8870 Apr 4 2014 slf4j-log4j12-1.7.7.jar
將/data/solrcloud/solr5.5/dist下 的 solr-dataimporthandler-5.3.1.jar,solr-dataimporthandler-extras-5.3.1.jar
複製到tomcat8目錄下的/webapps/solr/WEB-INF/lib下。其他jar包不用複製;
[root@SHB-L0120794 bin]# cd /data/solrcloud/solr5.5/dist
[root@SHB-L0120794 dist]# ll
total 6308
-rw-r--r-- 1 root root 18577 May 1 2016 solr-analysis-extras-5.5.1.jar
-rw-r--r-- 1 root root 168433 May 1 2016 solr-analytics-5.5.1.jar
-rw-r--r-- 1 root root 36288 May 1 2016 solr-cell-5.5.1.jar
-rw-r--r-- 1 root root 54235 May 1 2016 solr-clustering-5.5.1.jar
-rw-r--r-- 1 root root 3873898 May 1 2016 solr-core-5.5.1.jar
-rw-r--r-- 1 root root 226455 May 1 2016 solr-dataimporthandler-5.5.1.jar
-rw-r--r-- 1 root root 38848 May 1 2016 solr-dataimporthandler-extras-5.5.1.jar
drwxr-xr-x 2 root root 4096 Mar 17 14:53 solrj-lib
-rw-r--r-- 1 root root 769911 May 1 2016 solr-langid-5.5.1.jar
-rw-r--r-- 1 root root 131926 May 1 2016 solr-map-reduce-5.5.1.jar
-rw-r--r-- 1 root root 25895 May 1 2016 solr-morphlines-cell-5.5.1.jar
-rw-r--r-- 1 root root 43988 May 1 2016 solr-morphlines-core-5.5.1.jar
-rw-r--r-- 1 root root 692590 May 1 2016 solr-solrj-5.5.1.jar
-rw-r--r-- 1 root root 265757 May 1 2016 solr-test-framework-5.5.1.jar
-rw-r--r-- 1 root root 41416 May 1 2016 solr-uima-5.5.1.jar
-rw-r--r-- 1 root root 32101 May 1 2016 solr-velocity-5.5.1.jar
drwxr-xr-x 4 root root 4096 Mar 17 14:53 test-framework
6.將/data/solrcloud/solr5.5/server/solr文件夾複製,到/data/solrcloud/solr-home文件夾;solr-home是solr文件夾的重命名;
#查看
[root@SHB-L0120794 solr]# pwd
/data/solrcloud/solr5.5/server/
[root@SHB-L0120794 server]# ll
total 148
drwxr-xr-x 2 root root 4096 Mar 17 14:53 contexts
drwxr-xr-x 2 root root 4096 Mar 17 14:53 etc
drwxr-xr-x 3 root root 4096 Mar 17 14:53 lib
drwxr-xr-x 2 root root 4096 Feb 10 2016 logs
drwxr-xr-x 2 root root 4096 Mar 17 14:53 modules
-rw-r--r-- 1 root root 3826 Feb 1 2016 README.txt
drwxr-xr-x 2 root root 4096 Mar 17 14:53 resources
drwxr-xr-x 4 root root 4096 Feb 1 2016 scripts
drwxr-xr-x 3 root root 4096 Mar 17 14:53 solr
drwxr-xr-x 3 root root 4096 May 1 2016 solr-webapp
-rw-r--r-- 1 root root 109440 Jul 31 2015 start.jar
[root@SHB-L0120794 server]# cd solr
[root@SHB-L0120794 solr]# ll
total 16
drwxr-xr-x 5 root root 4096 Feb 1 2016 configsets
-rw-r--r-- 1 root root 3037 Feb 1 2016 README.txt
-rw-r--r-- 1 root root 1887 Feb 1 2016 solr.xml
-rw-r--r-- 1 root root 501 Feb 1 2016 zoo.cfg
7.修改tomcat目錄下的webapps\solr\WEB-INF\web.xml,取消註釋,修改如下配置項,指定solr-home目錄 ,該命名和tomcat8/webapps/中的solr項目,呼應
<env-entry-value>/data/solrcloud/solr-home</env-entry-value>
#進入目錄
vim /data/solrcloud/tomcat8/webapps/solr/WEB-INF/web.xml
#修改如下內容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/data/solrcloud/solr-home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
8 進入tomcat/bin目錄啓動tomcat服務,登錄http://30.4.2.7:8080/solr/index.html即可訪問到solr ;
[root@SHB-L0120794 tomcat8]# cd bin/
#啓動
[root@SHB-L0120794 bin]# ./startup.sh