ElasticSearch基本介紹(一)

引言


引自:Elasticsearch集群部署

一伐蒋、ES中的基本概念


cluster

代表一個集群宵膨,集群中有多個節(jié)點,其中有一個為主節(jié)點诸狭,這個主節(jié)點是可以通過選舉產(chǎn)生的券膀,主從節(jié)點是對于集群內(nèi)部來說的君纫。

es的一個概念就是去中心化,字面上理解就是無中心節(jié)點芹彬,這是對于集群外部來說的蓄髓。因為從外部來看es集群,在邏輯上是個整體舒帮,你與任何一個節(jié)點的通信和與整個es集群通信是相同的会喝。

shards

代表索引分片,es可以把一個完整的索引分成多個分片玩郊,這樣的好處是可以把一個大的索引拆分成多個肢执,分布到不同的節(jié)點上。構(gòu)成分布式搜索译红。分片的數(shù)量只能在索引創(chuàng)建前指定预茄,并且索引創(chuàng)建后不能更改。

replicas

代表索引副本侦厚,es可以設(shè)置多個索引的副本耻陕,副本的作用一是提高系統(tǒng)的容錯性,當某個節(jié)點某個分片損壞或丟失時可以從副本中恢復(fù)刨沦。二是提高es的查詢效率淮蜈,es會自動對搜索請求進行負載均衡。

recovery

代表數(shù)據(jù)恢復(fù)或叫數(shù)據(jù)重新分布已卷,es在有節(jié)點加入或退出時會根據(jù)機器的負載對索引分片進行重新分配梧田,掛掉的節(jié)點重新啟動時也會進行數(shù)據(jù)恢復(fù)。

river

代表es的一個數(shù)據(jù)源侧蘸,也是其它存儲方式(如:數(shù)據(jù)庫)同步數(shù)據(jù)到es的一個方法裁眯。它是以插件方式存在的一個es服務(wù),通過讀取river中的數(shù)據(jù)并把它索引到es中讳癌,官方的rivercouchDB的穿稳,RabbitMQ的,Twitter的晌坤,Wikipedia的逢艘。

gateway

代表es索引快照的存儲方式,es默認是先把索引存放到內(nèi)存中骤菠,當內(nèi)存滿了時再持久化到本地硬盤它改。gateway對索引快照進行存儲,當這個es集群關(guān)閉再重新啟動時就會從gateway中讀取索引備份數(shù)據(jù)商乎。es支持多種類型的gateway央拖,有本地文件系統(tǒng)(默認),分布式文件系統(tǒng),HadoopHDFSamazons3云存儲服務(wù)鲜戒。

discovery.zen

代表es的自動發(fā)現(xiàn)節(jié)點機制专控,es是一個基于p2p的系統(tǒng),它先通過廣播尋找存在的節(jié)點遏餐,再通過多播協(xié)議來進行節(jié)點之間的通信伦腐,同時也支持點對點的交互。

Transport

代表es內(nèi)部節(jié)點或集群與客戶端的交互方式失都,默認內(nèi)部是使用tcp協(xié)議進行交互蔗牡,同時它支持http協(xié)議(json格式)、thrift嗅剖、servlet辩越、memcachedzeroMQ等的傳輸協(xié)議(通過插件方式集成)信粮。

二黔攒、部署環(huán)境


采用三臺CentOS7.3部署ElasticSearch集群,部署ElasticSearch集群就不得不提索引分片强缘,以下是索引分片的簡單介紹督惰。

系統(tǒng) 節(jié)點名 IP
CentOS7.3 els1 172.18.68.11
CentOS7.3 els2 172.18.68.12
CentOS7.3 els3 172.18.68.13

ES集群中索引可能由多個分片構(gòu)成,并且每個分片可以擁有多個副本旅掂。通過將一個單獨的索引分為多個分片赏胚,我們可以處理不能在一個單一的服務(wù)器上面運行的大型索引,簡單的說就是索引的大小過大商虐,導(dǎo)致效率問題觉阅。

不能運行的原因可能是內(nèi)存也可能是存儲。由于每個分片可以有多個副本秘车,通過將副本分配到多個服務(wù)器典勇,可以提高查詢的負載能力。

三叮趴、部署Elasticsearch集群


1. 安裝JDK

Elasticsearch是基于Java開發(fā)的一個Java程序割笙,運行在Jvm中,所以第一步要安裝JDK

yum install -y java-1.8.0-openjdk-devel
2. 下載ElasticSearch

ElasticSearch DownloadELasticSearch的中文官方站點眯亦。

下載您所需要的版本伤溉,我這里是elasticsearch-6.4.2-linux-x86_64.tar.gz

[root@hadoop1 ~]# tar -zxvf elasticsearch-6.4.2-linux-x86_64.tar.gz
# 因為執(zhí)行./bin/elasticsearch -d需要非root用戶,因此需要創(chuàng)建elastic用戶
[root@hadoop1 ~]# adduser elastic
# 修改elastic用戶擁有root權(quán)限
[root@hadoop1 ~]# vim /etc/sudoers
# 添加權(quán)限
elastic ALL=(ALL)       ALL
:wq!保存
#授權(quán)
[root@hadoop1 ~]# chmod 775 elasticsearch-6.4.2
[root@hadoop1 ~]# chown -R elastic:elastic elasticsearch-6.4.2
[root@hadoop1 ~]# mv elasticsearch-6.4.2 /home/elastic/
[root@hadoop1 ~]# su - elastic
[elastic@hadoop1 ~]$ cd 
[elastic@hadoop1 ~]$ ll
drwxrwxr-x 8 elastic elastic 4096 Sep 26  2018 elasticsearch-6.4.2

3. 配置目錄

安裝完畢后會生成很多文件妻率,包括配置文件乱顾、日志文件等等,下面幾個是最主要的配置文件路徑:

# ES的配置文件
/etc/elasticsearch/elasticsearch.yml    
                    
# JVM相關(guān)的配置舌涨,內(nèi)存大小等等   
/etc/elasticsearch/jvm.options              

# 日志系統(tǒng)定義                    
/etc/elasticsearch/log4j2.properties        

# 數(shù)據(jù)的默認存放位置                 
/var/lib/elasticsearch                                        
4. 創(chuàng)建用于存放數(shù)據(jù)與日志的目錄

數(shù)據(jù)文件會隨著系統(tǒng)的運行飛速增長糯耍,所以默認的日志文件數(shù)據(jù)文件的路徑不能滿足我們的需求扔字,那么手動創(chuàng)建日志數(shù)據(jù)文件路徑囊嘉,可以使用NFSNetwork File System)温技、可以使用Raid(磁盤陣列)等等方便以后的管理與擴展。

mkdir {logs,data}
5. 集群配置

集群配置中最重要的兩項是node.namenetwork.host扭粱,每個節(jié)點都必須不同舵鳞。其中node.name是節(jié)點名稱,主要是在Elasticsearch自己的日志加以區(qū)分每一個節(jié)點信息琢蛤。

discovery.zen.ping.unicast.hosts是集群中的節(jié)點信息蜓堕,可以使用IP地址、可以使用主機名(必須可以解析)博其。

vim /home/elastic/elasticsearch-6.4.2/config/elasticsearch.yml 

cluster.name: your-self-cluster                                 
node.name: es-node1                                         # 節(jié)點名稱套才,僅僅是描述名稱,用于在日志中區(qū)分

path.data: /home/ozan/elasticsearch-6.4.2/data              # 數(shù)據(jù)的默認存放路徑
path.logs: /home/ozan/elasticsearch-6.4.2/logs              # 日志的默認存放路徑

network.host: 192.168.0.1                                   # 當前節(jié)點的IP地址
http.port: 9200                                             # 對外提供服務(wù)的端口慕淡,9300為集群服務(wù)的端口

discovery.zen.ping.unicast.hosts: ["172.18.68.11", "172.18.68.12","172.18.68.13"]       
# 集群個節(jié)點IP地址背伴,也可以使用els、els.shuaiguoxia.com等名稱峰髓,需要各節(jié)點能夠解析

discovery.zen.minimum_master_nodes: 2                       # 為了避免腦裂傻寂,集群節(jié)點數(shù)最少為 半數(shù)+1

在最后加上這兩句,要不然携兵,外面瀏覽器就訪問不了哈
http.cors.enabled: true
http.cors.allow-origin: "*"
6. JVM配置

由于ElasticsearchJava開發(fā)的疾掰,所以可以通過/etc/elasticsearch/jvm.options配置文件來設(shè)定JVM的相關(guān)設(shè)定。如果沒有特殊需求按默認即可徐紧。

不過其中還是有兩項最重要的-Xmx1g-Xms1g JVM的最大最小內(nèi)存静檬。如果太小會導(dǎo)致Elasticsearch剛剛啟動就立刻停止,太大會拖慢系統(tǒng)本身并级。

vim /etc/elasticsearch/jvm.options
-Xms1g                         # JVM最大使用內(nèi)存
-Xmx1g                         # JVM最小使用內(nèi)存
7. 啟動Elasticsearch

由于啟動Elasticsearch會自動啟動daemon-reload所以最后一項可以省略巴柿。

[elastic@hadoop1 bin]$ ./elasticsearch -d

查看elasticsearchlogs

8. 測試

Elasticsearch提供了http接口調(diào)用,所以直接使用curl命令就可以查看到一些集群相關(guān)的信息死遭。

可以使用curl命令來獲取集群的相關(guān)的信息

_cat:代表查看信息

nodes:為查看節(jié)點信息广恢,默認會顯示為一行,所以就用?preety讓信息更友好的顯示

?preety:讓輸出信息更友好的顯示
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呀潭,一起剝皮案震驚了整個濱河市钉迷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钠署,老刑警劉巖糠聪,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谐鼎,居然都是意外死亡舰蟆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來身害,“玉大人味悄,你說我怎么就攤上這事∷欤” “怎么了侍瑟?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丙猬。 經(jīng)常有香客問我涨颜,道長,這世上最難降的妖魔是什么茧球? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任庭瑰,我火速辦了婚禮,結(jié)果婚禮上抢埋,老公的妹妹穿的比我還像新娘弹灭。我一直安慰自己,他們只是感情好羹令,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布鲤屡。 她就那樣靜靜地躺著,像睡著了一般福侈。 火紅的嫁衣襯著肌膚如雪酒来。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天肪凛,我揣著相機與錄音堰汉,去河邊找鬼。 笑死伟墙,一個胖子當著我的面吹牛翘鸭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播戳葵,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼就乓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拱烁?” 一聲冷哼從身側(cè)響起生蚁,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎戏自,沒想到半個月后邦投,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡擅笔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年志衣,在試婚紗的時候發(fā)現(xiàn)自己被綠了屯援。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡念脯,死狀恐怖狞洋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情和二,我是刑警寧澤徘铝,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布耳胎,位于F島的核電站惯吕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怕午。R本人自食惡果不足惜废登,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郁惜。 院中可真熱鬧堡距,春花似錦、人聲如沸兆蕉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虎韵。三九已至易稠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間包蓝,已是汗流浹背驶社。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留测萎,地道東北人亡电。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像硅瞧,于是被迫代替她去往敵國和親份乒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容