操作系統:CentOS7.5 64位
Solr版本:Solr7.4.0
Tomcat版本:apache-tomcat-8.5.4
JDK版本:java version "1.8.0_191"
部署
第一步:下載安裝包
下載Solr7.4.0:
wget http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz
下載Tomcat:
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gz
第二步:解壓
添加執行權限:
chmod u+x solr-7.4.0.tgz
chmod u+x apache-tomcat-8.5.4.tar.gz
解壓安裝包:
mkdir -p /opt/modules/solr7
tar -zxf apache-tomcat-8.5.4.tar.gz -C /opt/modules/solr7/
tar -zxf solr-7.4.0.tgz -C /opt/modules/solr7/
# 將apache-tomcat重命名爲tomcat-solr
mv apache-tomcat-8.5.4 tomcat-solr
第三步:部署到Tomcat
Solr 解壓後server/solr-webapp下一個webapp目錄,它就是Solr的Web項目,把它複製到tomcat的webapps目錄下並改名爲solr
# 進入Solr的server目錄下
/opt/modules/solr7/solr-7.4.0/server/solr-webapp/
# 複製webapp目錄到tomcat-solr的webapps目錄下
cp -r webapp/ /opt//modules/solr7/tomcat-solr/webapps
# 將Solr的web應用改名
cd /opt//modules/solr7/tomcat-solr/webapps
mv webapp/ solr
第四步:配置solr_home
這個目錄用於存儲Solr Core的數據及配置文件
創建solr_home存儲Solr索引文件
cd /opt/modules/solr7/
mkdir solr_home
解壓後的Solr的server目錄下有一個solr目錄,把這個目錄裏的所有內容複製到剛剛創建的solr_home目錄下:
# 切換到server/solr
cd /opt/modules/solr7/solr-7.4.0/server/solr
# 複製solr目錄下所有內容到solr_home
cp -r * /opt/modules/solr7/solr_home/
第五步:配置Tomcat
####5.1 修改web.xml
修改複製到tomcat中的Solr項目中的WEB-INF目錄下的web.xml配置文件
修改solr_home路徑指向我們剛剛創建的solr_home
cd /opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF
vim web.xml
<!-- 修改Solr_home路徑 -->
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/opt/modules/solr7/solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
####5.2 去掉安全驗證
還是在web.xml文件中,把安全驗證的去掉,不然每次登陸都需要用戶名密碼驗證,麻煩
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Enable everything but TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method-omission>TRACE</http-method-omission>
</web-resource-collection>
</security-constraint>
-->
####5.3 複製所需依賴jar包
複製所需jar包到WEB-INF目錄下的lib目錄下
複製solr-7.4.0\server\lib\ext下的所有jar包到tomcat下的webapps\solr\WEB-INF\lib目錄下
cd /opt/modules/solr7/solr-7.4.0
cp server/lib/ext/* /opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/lib/
複製solr-7.4.0\server\lib下的metrics開頭的5個jar到tomcat下的webapps\solr\WEB-INF\lib目錄下
metrics-core-3.2.2.jar
metrics-ganglia-3.2.2.jar
metrics-graphite-3.2.2.jar
metrics-jetty9-3.2.2.jar
metrics-jvm-3.2.2.jar
cp server/lib/metrics-* /opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/lib/
複製solr-7.4.0\dist 下的solr-dataimporthandler-7.4.0.jar、solr-dataimporthandler-extras-7.4.0.jar是數據導入的時候用到,看情況導入,Solr用了這麼久Solr數據導入的功能還沒有用到過
cp dist/solr-dataimporthandler-* /opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/lib/
####5.4 修改Tomcat端口號
修改Tomcat的端口號,改不改都行,不過最好改一下,以後如果有多個Tomcat會有端口衝突的
vim apache-tomcat-8.5.4/conf/server.xml
修改8080、8009端口號
Solr常用的端口號是8983,可以把8080改成8983,
8009端口隨意,這裏改成8909
<Connector port="8983" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改solr_home目錄下的solr.xml配置文件
vim solr_home/solr.xml
# 將主機名和端口號修改爲自己的主機名和端口號
# 如果主機名沒有映射IP地址的話用IP地址
<str name="host">${host:cm02.spark.com}</str>
<int name="hostPort">${tomcat.port:8983}</int>
看其他的教程是沒有這一步的,我也試了下把這一步去掉,其實也是可以的,不過最好配置一下,默認的hostPort的值是${jetty.port:8983},很明顯這是jetty的配置。
####5.5 爲Tomcat分配指定內存
爲Tomcat分配指定大小的內存
修改tomcat-solr目錄下的bin/catalina.sh
vim bin/catalina.sh
# 添加如下配置
JAVA_OPTS="-Xms4g -Xmx4g"
創建Solr Core
第一步: 爲Core創建數據目錄
在solr_home目錄下創建目錄名爲:new_core
這個就是我們後面要創建的Solr Core,當然你也可以改成自己想要的名字
cd /opt/modules/solr7/solr_home/
mkdir new_core
第二步: 爲Core準備配置文件
將configsets目錄下的sample_techproducts_configs目錄下的conf文件夾複製到test目錄下
cp -r configsets/sample_techproducts_configs/conf/ new_core/
第三步:啓動tomcat
cd /opt/modules/solr7/tomcat-solr
遠程在瀏覽器裏訪問一下:http://192.168.85.133:8080/solr/index.html
大功告成!!!