• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • CentOS 6學習筆記(十四)--CentOS6環境搭建Solr集群(SolrCloud)

    標簽: Linux  tomcat  centos  linux  java  solr

    安裝 Solr 單機版

    建議閱讀我之前發布的筆記:

    CentOS 6學習筆記(十)–CentOS6環境安裝Solr

    搭建 ZooKeeper 集群

    建議閱讀我之前發布的筆記:

    CentOS 6學習筆記(十三)–CentOS6環境搭建ZooKeeper集群

    搭建 Solr 集群 (SolrCloud)

    本筆記通過在單臺服務器上運行 4 個 Solr 實例的方式來模擬 SolrCloud。

    創建與配置 Tomcat 實例

    創建 4 例 Tomcat

    #復制4個tomcat
    cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01
    cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02
    cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03
    cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04
    
    cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat01/webapps/
    cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat02/webapps/
    cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat03/webapps/
    cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat04/webapps/
    
    

    配置實例 1

    vim /usr/local/solr-cloud/tomcat01/conf/server.xml
    

    配置以下內容

    <Server port="8105" shutdown="SHUTDOWN">
        
    <Connector port="8180" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        
    <Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
    

    在這里插入圖片描述

    在這里插入圖片描述

    在這里插入圖片描述

    配置實例 2

    vim /usr/local/solr-cloud/tomcat02/conf/server.xml
    

    配置以下內容

    <Server port="8205" shutdown="SHUTDOWN">
        
    <Connector port="8280" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        
    <Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />
    

    配置實例 3

    vim /usr/local/solr-cloud/tomcat03/conf/server.xml
    

    配置以下內容

    <Server port="8305" shutdown="SHUTDOWN">
        
    <Connector port="8380" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        
    <Connector port="8309" protocol="AJP/1.3" redirectPort="8443" />
    

    配置實例 4

    vim /usr/local/solr-cloud/tomcat04/conf/server.xml
    

    配置以下內容

    <Server port="8405" shutdown="SHUTDOWN">
        
    <Connector port="8480" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        
    <Connector port="8409" protocol="AJP/1.3" redirectPort="8443" />
    

    創建與配置 Solrhome

    創建 4 例 Solrhome

    cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome01
    cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome02
    cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome03
    cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome04
    

    配置 web.xml

    配置實例 1 的 web.xml

    vim /usr/local/solr-cloud/tomcat01/webapps/solr/WEB-INF/web.xml
    

    配置以下內容

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>/usr/local/solr-cloud/solrhome01/</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
    

    在這里插入圖片描述

    配置實例 2 的 web.xml

    vim /usr/local/solr-cloud/tomcat02/webapps/solr/WEB-INF/web.xml
    

    配置以下內容

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>/usr/local/solr-cloud/solrhome02/</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
    

    配置實例 3 的 web.xml

    vim /usr/local/solr-cloud/tomcat03/webapps/solr/WEB-INF/web.xml
    

    配置以下內容

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>/usr/local/solr-cloud/solrhome03/</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
    

    配置實例 4 的 web.xml

    vim /usr/local/solr-cloud/tomcat04/webapps/solr/WEB-INF/web.xml
    

    配置以下內容

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>/usr/local/solr-cloud/solrhome04/</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
    

    配置 solr.xml

    配置實例 1 的 solr.xml

    vim /usr/local/solr-cloud/solrhome01/solr.xml
    

    配置以下內容

    <solrcloud>
        <str name="host">192.168.25.155</str>
        <int name="hostPort">8180</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
    </solrcloud>
    

    在這里插入圖片描述

    配置實例 2 的 solr.xml

    vim /usr/local/solr-cloud/solrhome02/solr.xml
    

    配置以下內容

    <solrcloud>
        <str name="host">192.168.25.155</str>
        <int name="hostPort">8280</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
    </solrcloud>
    

    配置實例 3 的 solr.xml

    vim /usr/local/solr-cloud/solrhome03/solr.xml
    

    配置以下內容

    <solrcloud>
        <str name="host">192.168.25.155</str>
        <int name="hostPort">8380</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
    </solrcloud>
    

    配置實例 4 的 solr.xml

    vim /usr/local/solr-cloud/solrhome04/solr.xml
    

    配置以下內容

    <solrcloud>
        <str name="host">192.168.25.155</str>
        <int name="hostPort">8480</int>
        <str name="hostContext">${hostContext:solr}</str>
        <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
        <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
    </solrcloud>
    

    配置 catalina.sh

    配置實例 1 的 catalina.sh

    vim /usr/local/solr-cloud/tomcat01/bin/catalina.sh
    

    配置以下內容

    JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
    

    在這里插入圖片描述

    配置實例 2 的 catalina.sh

    vim /usr/local/solr-cloud/tomcat02/bin/catalina.sh
    

    配置以下內容

    JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
    

    配置實例 3 的 catalina.sh

    vim /usr/local/solr-cloud/tomcat03/bin/catalina.sh
    

    配置以下內容

    JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
    

    配置實例 4 的 catalina.sh

    vim /usr/local/solr-cloud/tomcat04/bin/catalina.sh
    

    配置以下內容

    JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
    

    使用 zkcli.sh 工具上傳配置文件

    yum install -y unzip zip
    cd /usr/local/solr-4.10.3/example/scripts/cloud-scripts/
    ./zkcli.sh -zkhost 192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
    

    查看狀態

    cd /usr/local/solr-cloud/zookeeper01/bin
    ./zkCli.sh -server 192.168.25.155:2182
    
    ls /configs/myconf
    quit
    

    在這里插入圖片描述

    編寫啟動 Tomcat 集群的腳本

    vim /usr/local/solr-cloud/start-tomcat-all.sh
    
    cd /usr/local/solr-cloud/tomcat01/bin
    ./startup.sh
    cd /usr/local/solr-cloud/tomcat02/bin
    ./startup.sh
    cd /usr/local/solr-cloud/tomcat03/bin
    ./startup.sh
    cd /usr/local/solr-cloud/tomcat04/bin
    ./startup.sh
    

    修改權限

    cd /usr/local/solr-cloud
    chmod u+x start-tomcat-all.sh
    

    開啟 Tomcat 集群

    /usr/local/solr-cloud/start-tomcat-all.sh
    

    查看啟動日志

    tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out
    tail -f /usr/local/solr-cloud/tomcat02/logs/catalina.out
    tail -f /usr/local/solr-cloud/tomcat03/logs/catalina.out
    tail -f /usr/local/solr-cloud/tomcat04/logs/catalina.out
    

    編寫關閉 Tomcat 集群的腳本

    vim /usr/local/solr-cloud/shutdown-tomcat-all.sh
    
    cd /usr/local/solr-cloud/tomcat01/bin
    ./shutdown.sh
    cd /usr/local/solr-cloud/tomcat02/bin
    ./shutdown.sh
    cd /usr/local/solr-cloud/tomcat03/bin
    ./shutdown.sh
    cd /usr/local/solr-cloud/tomcat04/bin
    ./shutdown.sh
    

    修改權限

    cd /usr/local/solr-cloud
    chmod u+x shutdown-tomcat-all.sh
    

    關閉 Tomcat 集群

    /usr/local/solr-cloud/shutdown-tomcat-all.sh
    

    創建新的 Collection 進行分片處理

    在瀏覽器中訪問以下網址

    http://192.168.25.155:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

    在這里插入圖片描述
    訪問

    http://192.168.25.155:8180/solr/#/~cloud

    可看到結果

    在這里插入圖片描述

    刪除不用的 Collection

    在瀏覽器中訪問以下網址

    http://192.168.25.155:8180/solr/admin/collections?action=DELETE&name=collection1

    在這里插入圖片描述
    訪問

    http://192.168.25.155:8180/solr/#/~cloud

    可看到結果

    在這里插入圖片描述

    開機自啟

    vim /etc/rc.d/rc.local
    

    添加

    /usr/local/solr-cloud/start-tomcat-all.sh
    
    版權聲明:本文為gaoxiaokun4282原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/gaoxiaokun4282/article/details/106431864

    智能推薦

    centos6搭建gitLab

    環境:centos6.0  root權限 1、安裝依賴  2、安裝Postfix以發送通知電子郵件(不需要可以不裝) 3、改變鏡像站、下載更快  將加GitLab軟件倉庫更新改為清華大學開源軟件鏡像站 , 創建文件 : /etc/yum.repos.d/gitlab_gitlab-ce.repo    修改為以下內容:(鏡像站這玩意有時不...

    centos6 搭建kafka

    一、官網   http://kafka.apache.org/downloads.html 二、Kafka簡介   Kafka是由Apache軟件基金會開發的一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據...

    Centos6離線安裝CDH5.14.2最全詳細教程-3環境準備2

    概述 文章寫得很詳細,很長所以這里分成了7個部分 這里是第三部分,環境準備2 操作的話建議從第一部分開始不知道為什么后面的幾個部分的閱讀量比前言大得多,強烈建議從第一部分開始操作,文章驗證過好多次了,各部分之間都是相互依賴的,只看中間某一篇的話很可能出錯 第一部分:前言 第二部分:環境準備1 第三部分:環境準備2 第四部分:安裝Mysql數據庫 第五部分:安裝Cloudera Manager主服務...

    Centos6離線安裝CDH5.14.2最全詳細教程-2環境準備1

    概述 文章寫得很詳細,很長所以這里分成了7個部分 這里是第二部分,環境準備1 操作的話建議從第一部分開始不知道為什么后面的幾個部分的閱讀量比前言大得多,強烈建議從第一部分開始操作,文章驗證過好多次了,各部分之間都是相互依賴的,只看中間某一篇的話很可能出錯 第一部分:前言 第二部分:環境準備1 第三部分:環境準備2 第四部分:安裝Mysql數據庫 第五部分:安裝Cloudera Manager主服務...

    centos6環境:sftp用戶借助rsyslog打印日志,用戶超過50后不生效

    問題描述 首先,我配置的sftp的用戶都是做了chroot的,并且每個用戶之間是沒有共享目錄的,所以rsyslog的配置是不能用一個 $AddUnixListenSocket搞定,需要為每個用戶都配置一個這個文件。 大致的配置流程可以參考https://blog.famzah.net/2011/02/03/secure-chroot-remote-file-access-via-sftp-and-...

    猜你喜歡

    centos6 MYSQL

    配置數據庫 查看自己得數據庫版本1: 安裝數據庫 服務端2:啟動mysql服務         service  mysqld  start 3:給數據庫創建一個用戶(管理員帳號) mysqladmin -u root password 123456 4:通過帳號密碼進入到mysql客戶端中 mys...

    centos6 samba

    samba  簡介 Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議 環境所需 系統 centos6 軟件包 samba 1.安裝  samba 2.修改配置文件 /etc/samba/smb.conf 3.查找為[glo...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    精品国产乱码久久久久久蜜桃不卡