Elasticsearch簡介和安裝對比

来源:https://www.cnblogs.com/shsxt/archive/2018/01/17/8304662.html
-Advertisement-
Play Games

各位小伙伴,又到了本期分享大數據技術的時間,本次給大伙帶來的是Elasticsearch這個技術,閑話不多聊,我們開始進入正題。 一、什麼是elasticsearch Elasticsearch是一個基於Lucene的實時的分散式搜索和分析 引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠, 快 ...


各位小伙伴,又到了本期分享大數據技術的時間,本次給大伙帶來的是Elasticsearch這個技術,閑話不多聊,我們開始進入正題。

一、什麼是elasticsearch

Elasticsearch是一個基於Lucene的實時的分散式搜索和分析 引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠, 快速,安裝使用方便。基於RESTful介面。

二、Elasticsearch與solr對比

2.1.熱度

 
 
 
從上圖可以看出,在elasticserach出現後,它的搜索指數急劇上升,不久就超過了solr

2.2.性能對比

大型互聯網公司,實際生產環境測試,將搜索引擎從Solr轉到Elasticsearch以後的平均查詢速度有了50倍的提升。
 

2.3.優勢

a)Elasticsearch是分散式的。不需要其他組件,分發是實時的,被叫做”Push replication”。
b)Elasticsearch 完全支持 Apache Lucene 的接近實時的搜索。
處理多租戶(multitenancy)不需要特殊配置,而Solr則需要更多的高級設置。
c)Elasticsearch 採用 Gateway 的概念,使得備份更加簡單。
各節點組成對等的網路結構,某些節點出現故障時會自動分配其他節點代替其進行工作。
 
 

三、Lucene與ES關係?

 
1)Lucene只是一個庫。想要使用它,你必須使用Java來作為開發語言並將其直接集成到你的應用中,更糟糕的是,Lucene非常複雜,你需要深入瞭解檢索的相關知識來理解它是如何工作的。
 
2)Elasticsearch也使用Java開發並使用Lucene作為其核心來實現所有索引和搜索的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的複雜性,從而讓全文搜索變得簡單。

四、Elasticsearch與關係型資料庫對比

ElasticSearch與關係型資料庫的相似:

 
1.一個ES集群可以包含多個索引(資料庫),每個索引又包含了很多類型(表),類型中包含了很多文檔(行),每個文檔又包含了很多欄位(列)。
2.傳統資料庫為特定列增加一個索引,例如B-Tree索引來加速檢索。Elasticsearch和Lucene使用一種叫做倒排索引(inverted index)的數據結構來達到相同目的。
3.倒排索引源於實際應用中需要根據屬性的值來查找記錄。這種索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄的地址。由於不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為倒排索引(inverted index)。

五、Elasticsearch部署與啟動

註:java版本要求:最低1.7 »

5.1.下載

地址:https://www.elastic.co/downloads/
這裡選擇elasticsearch-2.4.5.tar.gz

5.2.安裝

Es是一個分散式的搜索技術,故安裝時既可以是單機版也可以是集群,這裡介紹的是分散式安裝。
首先選擇三台虛擬機,且這三台虛擬機都已經安裝好jdk7,它們的IP分別為:192.168.78.204,192.168.78.205,172.168.78.206。
 

5.2.上傳並解壓

   命令:  tar -zxvf elasticsearch-2.4.5.tar.gz

5.2.2 配置

修改es_home/config/elasticsearch.yml  (註意配置要頂格寫,冒號後面要加一個空格,最好用vim編輯器修改,容易發現錯誤)

 
以上為一臺虛擬機的配置,另外兩台也要配置,需要修改的是node.name和network.host,其他地方不需要修改.

5.2.3 啟動

    elasticsearch啟動的時候,不能以root用戶啟動,否則會報錯。我們可以創建一個es用戶,來專門管理elasticsearch.
創建用戶:useradd es
修改密碼:passwd es
然後將elasticsearch的整個目錄所有者和所屬組都修改成es用戶。命令:chown -R es:es elasticsearch-2.4.5
  

 
修改許可權後,切換成es用戶,然後分別啟動三台虛擬機上的elasticsearch.
命令:es_home/bin/elasticsearch
後臺運行命令:es_home/bin/elasticsearch -d
我這裡直接啟動,如下圖:

 
當日誌出現圖中的2步驟時,說明這台虛擬機上的ES進程啟動成功,但是這時該節點還沒組建集群,只有出現了3步驟,cluster.service日誌出來時,才說明集群組建成功。
 
訪問任意一臺虛擬機的9200埠,查看單機情況。如圖:

 
訪問任意一臺虛擬機的ip:9200/_cluster/health?pretty 地址,查看集群的狀態

 
 
Elasticsearch提供了rest介面,故可以用curl命令,發送http請求來對索引庫進行操作。創建一個叫myindex的索引庫
命令:curl -XPUT 192.168.78.204:9200/myindex?pretty

 
 
如上圖,返回true說明創建索引庫成功。
 
好了,本次的對elasticsearch的介紹就到這裡了
^_^,感興趣的童學可以繼續關註上海尚學堂大數據技術文章。也可以加維信 java8733獲取資料。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 參考:http://blog.csdn.net/luanwpp/article/details/7490871 參考: http://mp.weixin.qq.com/s?src=11&timestamp=1509778367&ver=493&signature=bWRs-rFvNNUU7DpqiU ...
  • 廢話不多說,上圖: 首先登錄http://www.phpstudy.net/download.html 下載安裝phpstudy,特別簡單不詳解; 創建一個本機項目並且與本機功能變數名稱進行綁定主要分為兩步; 1>.需要在站點功能變數名稱管理中將你創建的功能變數名稱與網站目錄進行綁定 2>.修改本地的hosts文件,將你的 ...
  • 修改docker預設網卡docker0的ip地址的方法: [root@centos7 ~]# cat /etc/docker/daemon.json 在此文件中添加如下一行,然後重啟服務。 { "bip": "192.168.0.1/24" } [root@centos7 ~]# systemctl ...
  • 在上一章,使uboot能夠支持nor、nand 本節繼續修改讓uboot支持DM9000C網卡,便可以通過網路來傳輸文件 首先uboot已帶有dm9000網卡的驅動,位於drivers/net/下的dm9000x.h、dm9000x.c 1.DM9000C介紹 參考之前寫的移植DM9000C驅動章節 ...
  • 名詞區分:sync:同步async:非同步rsync:遠程同步 rsync 特點:1,可以鏡像保存整個目錄樹和文件系統2,容易做到保留原有的許可權(permission,mode),owner,group,時間(修改時間,modify time),軟硬鏈接,文件acl,文件attributes等3,傳輸 ...
  • 三、技巧 1、1=1,1=2 的使用,在 SQL 語句組合時用的較多 “where 1=1” 是表示選擇全部 “where 1=2”全部不選, 如:if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @t ...
  • 下麵是這本書序言中的大部分內容,本人的英文水平有限,有理解不到位的地方還請大家指教,這算是自己對這本書的筆記和總結。 數據是當今系統設計中許多挑戰的中心,一些難以解決的問題如系統的可擴展性,一致性,可靠性,有效性和可維護性等需要弄清楚。 另外,我們已經有了各式各樣的工具,包括關係型資料庫,NoSQL ...
  • 1、資料庫操作 1.1、連接mysql伺服器 mysql -u root( 用戶名 ) -p 1.2、退出mysql命令提示窗 exit 1.3、查看版本 SELECT VERSION(); 1.4、列出資料庫列表 SHOW DATABASES; 1.5、創建資料庫 CREATE DATABASE ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...