solrCloud搭建

一.什么是solrCloud?

SolrCoud(solr云)是solr提供的分布式搜索方案。當一個系統搜索請求并發很高的時候,就需要使用solrCloud來滿足這些需求
solrCloud是基于solr和zookeeper的分布式的搜索方案,它的主要思想是使用zookeeper作為擠集群配置的信息中心

二.什么是zookeeper?

zookeeper,動物園管理員,是用來管理hadoop,pig...的管理員.是一個分布式的開源的程序協調服務。可以做(1)配置管理(2)集群管理

三.solrCloud結構

clipboard.png

三.zookeeper集群的搭建

1.mkdir /usr/local/solrCloud
2.zookeeper安裝包上傳到服務器
3.解壓并復制

tar -zxf zookeeper-3.4.6.tar.gz mv zookeeper-3.4.6 /usr/local/solrCloud/zookeeper1cp -r zookeeper1/ zookeeper2cp -r zookeeper1/ zookeeper3

4.配置zookeeper

(1)在每個zookeeper文件夾下創建data文件夾
(2)在data文件夾下創建myid文件夾,內容為zookeeper的編號

cd data/
echo 1 >> myid
...

(3)把zookeeper下conf目錄下zoo_sample.cfg文件復制一份改為zoo.cfg,并修改配置

 cp zoo_sample.cfg zoo.cfgvim zoo.cfg

clipboard.png

同理,修改其它的節點

(4)啟動zookeeper

bin目錄下:./zkServer.sh start
分別啟動另外的節點

四.solr集群的搭建

1.把solrhome中的配置文件上傳到zookeeper集群。
使用zookeeper的客戶端上傳。
客戶端命令位置:/root/solr-4.10.3/example/scripts/cloud-scripts

clipboard.png

./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf

2.修改solrhome下的solr.xml文件,指定當前實例運行的ip地址及端口號。

clipboard.png

3.修改每一臺solr的tomcat 的 bin目錄下catalina.sh文件中加入DzkHost指定zookeeper服務器地址:

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

(可以使用vim的查找功能查找到JAVA_OPTS的定義的位置,然后添加)

4.重新啟動tomcat。

clipboard.png

5.創建一個兩片的collection,每片是一主一備。

使用以下命令創建:
http://192.168.25.154:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

clipboard.png

6.刪除collection1.

http://192.168.25.154:8080/solr/admin/collections?action=DELETE&name=collection1

clipboard.png

五.solr實例的搭建

1.創建4個tomcat實例,修改其端口:8080-8083
2.解壓solr-4.10.3.tar.gz壓縮包,從壓縮包中復制solr.war到tomcat
3.啟動tomcat解壓war包,把solr-4.10.3目錄下的關于日志相關的jar包添加到solr工程中
4.創建solrhome,修改web.xml指定solrhome的位置

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277849.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277849.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277849.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 添加新用戶賬號并賦予root權限

除了root用戶之外,通常需要為每個管理創建各自的用戶賬號,方便每個管理員登錄使用, 步驟如下: 1. 添加新用戶賬號 useradd mary.lee 2. 為新用戶賬號設置密碼 passwd mary.lee 3. 為新用戶賬號賦予root權限 usermod -a -G root…

如何獲取 Teams Meeting 的上下文信息

我們上一篇文章講了如果使用 net6 和 c# 來快速開發一個最簡單的 teams meeting app。為了讓大家比較容易理解,上個sample非常簡單,簡單到沒有什么功能,那我們現在就來慢慢擴展這個app的功能:看看如何獲取 meeting 的上下文。 打…

php的運行流程

1、Zend引擎:Zend整體用純C實現,是PHP的內核部分,他將PHP代碼翻譯(詞法、語法解析等一系列編譯過程)為可執行opcode的處理并實現相應的處理方法、實現了基本的數據結構(如:hashtable、OO&#x…

內置方法

isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)檢查是否obj是否是類 cls 的對象 class Foo(object):pass obj Foo() isinstance(obj, Foo) issubclass(sub, super)檢查sub類是否是 super 類的派生類 class Foo(object):pass class Bar(Foo):pass issubclass…

會議中的Meeting App

接著我們上兩篇博客文章,我們說了如何開發會議前和會議后的 meeting app,那如何開發一個會議中的 app 呢,實際上比較簡單,我們只需要在 tab 的配置項中勾選下面這兩個選項即可。 勾選后,我們安裝app到我們的一個會議中…

0-2歲的app開發人員必讀,Android開發APP前的準備事項

2019獨角獸企業重金招聘Python工程師標準>>> 隨著移動互聯網的興起,各行各業對移動應用的需求越來越大,從事APP開發的人也越來越多,APP開發行業可以說是方興未艾。APP開發是比較復雜的事情,涉及產品、美工設計、服務器…

FixedThreadPool吞掉了異常

為了方便遍描述問題,如下是簡化后的 public class RunException {public static void main(String[] args) { ExecutorService readerPool Executors.newFixedThreadPool(3); readerPool.submit(new Runnable() { public void run() { throw new RuntimeException(…

Teams Meeting App的 task 彈出框

前幾篇文章我們介紹了 Teams Meeting App 的各種類型和如何從無到有的使用 net6 和 c# 來開發一個 Teams Meeting app,那今天我們開始討論一些 meeting app 的高級互動: task 彈出框。我們先來快速修改一下之前的代碼,看看什么是 task 彈出框…

react 學習

react官網地址:http://facebook.github.io/react/ webpack官網地址:http://webpack.js.org/ 英文 https://www.webpackjs.com/ 中文 參考資料: React 入門實例教程-阮一峰 webpack的學習 學習列表: 了解react的語法&#x…

如何獲取Teams Meeting 詳情

最近有一些朋友問我,有沒有可能獲取到會議的詳情,我搜索了目前所有的 teams 文檔,發現有一個api可以獲取,不過在我寫這篇文章的時候,這個 api 還在 preview 階段,可能在正式發布前,還會有一些變…

C++ : 內聯函數和引用變量

一.內聯函數 內聯函數和普通函數的使用方法沒有本質區別&#xff0c;我們來看一個例子&#xff0c;下面展示了內聯函數的使用方法&#xff1a; #include <iostream> using namespace std; //下面展示內聯函數的使用 inline double square(double x) {return (x*x);} int…

Teams Meeting 實時事件通知

Microsoft Teams最近推出了很多新的功能和api&#xff0c;我們今天就來一起看一下 teams 會議的實時事件通知&#xff0c;我覺得有了這個功能&#xff0c;我們的app&#xff0c;我們的bot又可以有很多可以實現的場景了。 我們來看看如何在 c# 里處理會議開始和結束這兩個事件。…

error記錄 | 不能將參數 1 從“const char [5]”轉換為“LPCTSTR

Windows使用兩種字符集ANSI和UNICODE&#xff0c;前者就是通常使用的單字節方式&#xff0c;但這種方式處理象中文這樣的雙字節字符不方便&#xff0c;容易出現半個漢字的情況。而后者是雙字節方式&#xff0c;方便處理雙字節字符。Windows NT的所有與字符有關的函數都提供兩…

JMM 學習筆記

并發編程的模型 并發編程需要解決的兩個問題&#xff1a;線程之間如何同步&#xff0c;線程之間如何通信。 線程之間通信&#xff1a;共享內存&#xff0c;消息傳遞。 共享內存通過線程之間讀-寫程序的公共狀態進行通信。消息傳遞要通過線程之間主動傳遞消息進行通信。 線程之間…

嵌套函數,匿名函數,高階函數

目錄 嵌套函數匿名函數高階函數嵌套函數 就是在函數里再定義一個函數 # 1,函數內部可以在定義函數 # 2,函數要想執行&#xff0c;必須要先被調用 def name1():print(kk)def name2():print(vfx)name2() name1() 輸出&#xff1a; kk vfx name2 現在他內部代碼找輸出&#xff0c;…

Teams Developer Portal介紹

在去年的 Build2021 大會上講到的 Teams Developer Portal 已經上線一段時間了&#xff0c;我這幾天玩了一下&#xff0c;發現比之前的 app studio 強大了很多&#xff0c;所以趕快寫篇文章和大家分享。 Developer Portal 有兩種訪問的方式&#xff0c;一個是網頁版&#xff0…

使用環境變量來配置 Teams App 的 manifest

上篇文章我們介紹了 Teams 的 Developer Portal&#xff0c;今天我想分享一個dev portal里一個比較實用的功能。這個功能在之前的 App Studio 里沒有。這個功能叫 Environment variables。 當我們真實開發一個 teams app的時候&#xff0c;肯定有自己的開發環境&#xff0c;測…

[Unity優化]批處理03:靜態批處理

[Unity優化]批處理03&#xff1a;靜態批處理 原理&#xff1a; 運行時&#xff0c;把需要進行靜態批處理的網格合并到一個新的網格中。雖然只進行一次合并操作&#xff0c;但是會占用更多的內存來存儲合并后的網格&#xff0c;并且被靜態批處理的物體無法移動旋轉縮放 要使用靜…

制造領域的人工智能技術

“AI將執行制造、質量控制、縮短設計時間、減少材料浪費、提高生產再利用率&#xff0c;執行預測性維護等等&#xff0c;盡管人工智能有望從根本上改變很多行業&#xff0c;但該技術非常適合制造業”Ng說。Andrew Ng是深度學習Google Brain項目的創始人兼斯坦福大學計算機科學兼…

如何獲取一個會議的 transcripts

Teams 開發團隊在過去半年里提供了很多的關于會議的 api&#xff0c;這讓我們又有了很多的可以實現的功能和場景。今天我要介紹的是如何獲取會議的 transcripts。 首先我們要知道的一個概念是&#xff1a;一個會議 meeting 可能有很多的 transcript&#xff0c;是一對多的關系…