CentOS7安裝Solr7.x版本,solr啓動,關閉solr 配置solr數據源

solr安裝
環境準備:

jdk 1.8

樓主安裝目錄爲:

/usr/local/jdk1.8/

tomcat8
PS: 最後是8.5版本之後 8.5之下版本 Apache已停止維護
樓主安裝目錄爲:

/usr/local/solr-tomcat/

solr-7.2.1 目前最新版本(2018-01-15)

一: 下載
創建下載目錄 並進入到下載目錄

mkdir -p /usr/local/software/ && cd /usr/local/software/

下載方式一:
solr 下載地址

wget http://archive.apache.org/dist/lucene/solr/7.2.1/solr-7.2.1.zip

下載方式二:
官方下載Solr

解壓目錄


unzip /usr/local/software/solr-7.2.1.zip 

把Solr的項目拷貝到solr-tomcat的webapps下


cp -R /usr/local/software/solr-7.2.1/server/solr-webapp/webapp/ /usr/local/solr-tomcat/webapps/

注意: 路徑爲: solr-7.2.1/server/solr-webapp/webapp,而不是: solr-7.2.1/server/solr-webapp/ 否則Tomcat不能成功啓動

爲Solr更名: 把webapp更改爲solr


mv /usr/local/solr-tomcat/webapps/webapp /usr/local/solr-tomcat/webapps/solr

二: 調整項目

拷貝solr-7.2.1/server/lib/ext/*下的jar包到 solr-tomcat/webapps/solr/WEB-INF/lib/下


cp -R /usr/local/software/solr-7.2.1/server/lib/ext/* /usr/local/solr-tomcat/webapps/solr/WEB-INF/lib/

拷貝solr-7.2.1/dist/solr-dataimporthandler-7.2.1.jar 包到 solr-tomcat/webapps/solr/WEB-INF/lib/下


cp -R /usr/local/software/solr-7.2.1/dist/solr-dataimporthandler-7.2.1.jar /usr/local/solr-tomcat/webapps/solr/WEB-INF/lib/

拷貝solr-7.2.1/dist/solr-dataimporthandler-extras-7.2.1.jar 包到 solr-tomcat/webapps/solr/WEB-INF/lib/下


cp -R /usr/local/software/solr-7.2.1/dist/solr-dataimporthandler-extras-7.2.1.jar /usr/local/solr-tomcat/webapps/solr/WEB-INF/lib/

拷貝: metrics開頭的5個文件
名稱如下:
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 -r /usr/local/software/solr-7.2.1/server/lib/metrics*.* /usr/local/solr-tomcat/webapps/solr/WEB-INF/lib/

拷貝solr-7.2.1/server下的solr 到/usr/local/solrHome 作爲solr的主目錄


cp -R /usr/local/software/solr-7.2.1/server/solr/* /usr/local/solrHome

查看拷貝成功的目錄

[root@jsyfdev001 solrHome]# ls -al /usr/local/solrHome
total 24
drwxr-xr-x   3 root root 4096 Jan 15 18:28 .
drwxr-xr-x. 35 root root 4096 Jan 15 18:23 ..
drwxr-xr-x   4 root root 4096 Jan 15 18:28 configsets
-rw-r--r--   1 root root 3095 Jan 15 18:28 README.txt
-rw-r--r--   1 root root 2170 Jan 15 18:28 solr.xml
-rw-r--r--   1 root root 1006 Jan 15 18:28 zoo.cfg

修改WEB-INF/web.xml的配置 把/put/your/solr/home/here指向到/usr/local/solrHome


sudo vim /usr/local/solr-tomcat/webapps/solr/WEB-INF/web.xml 

自帶的Solr配置

  <!--
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/put/your/solr/home/here</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
   -->

修改後的Solr配置

  <env-entry>
     <env-entry-name>solr/home</env-entry-name>
     <!--注意: 此處做了修改Solr的主目錄 指向到/usr/local/solrHome-->
      <env-entry-value>/usr/local/solrHome</env-entry-value>
      <env-entry-type>java.lang.String</env-entry-type>
   </env-entry>

創建classes 用來存放日誌文件

mkdir -p /usr/local/solr-tomcat/webapps/solr/WEB-INF/classes 

拷貝solr-7.2.1/server/resources/log4j.properties 到solr-tomcat/webapps/solr/WEB-INF/classes下


cp /usr/local/software/solr-7.2.1/server/resources/log4j.properties /usr/local/solr-tomcat/webapps/solr/WEB-INF/classes/

三: 開放端口

sudo vim /etc/sysconfig/iptables

添加開放端口:

# solr-tomcat端口 注意: 35080爲你的Tomcat端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 35080 -j ACCEPT

注意: 如果你的服務器是阿里雲需要在阿里雲上添加開放端口

// TODO 啓動solr-tomcat

啓動後打開網址出錯:

http://ip:35080/solr/index.html
出錯信息爲:

  1. 權限控制

HTTP Status 403 - Access to the requested resource has been denied

解決方法如下:
註釋web.xml中權限控制配置
sudo vim /usr/local/solr-tomcat/webapps/solr/WEB-INF/web.xml 

在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>

修改後:

  <!--
  <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>
  -->
  1. 404頁面
HTTP Status 404 - Servlet LoadAdminUI is not available

解決方法如下:

檢查以上jar是否全部放到solr/WEB-INF/lib中
檢查是否拷貝solr-7.2.1/server下的solr 到/usr/local/solrHome 作爲solr的主目錄

OK, 至此Solr搭建完畢!

下面說一下如何使用Solr
使用Solr

  1. 創建Core Admin
    這裏寫圖片描述
    注: 此處相當於建造一個關係型數據庫的表, 用來存放數據的

當按照圖片上步驟執行到第六步時, 會出現以下錯誤

錯誤的大概意思爲:
在我們點擊Add core之後Solr會自動幫我們生成的一個文件(路徑爲: /usr/local/solrHome/new_core/conf/)中沒有找到solrconfig.xml

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core new_core: Error loading solr config from /usr/local/solrHome/new_core/conf/solrconfig.xml

解決方法如下:

#創建Solr的core admin(上圖第一步驟的時候)
mkdir -p  /usr/local/solrHome/new_core
# 刪除new_core下所有的文件, 防止添加在上圖第一步的時候 創建多餘的文件
rm -rf /usr/local/solrHome/new_core/

拷貝_default下的conf目錄

cp -R /usr/local/software/solr-7.2.1/server/solr/configsets/_default/* /usr/local/solrHome/new_core/
#重新啓動Solr-tomcat 再次執行上圖的步驟 便不全報錯
# 關閉Solr-tomcat
/usr/local/solr-tomcat/bin/shutdown.sh
# 啓動Tomcat
/usr/local/solr-tomcat/bin/startup.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章