日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下elasticsearch 安装、配置及示例

發(fā)布時間:2025/3/8 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下elasticsearch 安装、配置及示例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介?
開始學(xué)es,我習(xí)慣邊學(xué)邊記,總結(jié)出現(xiàn)的問題和解決方法。本文是在兩臺linux虛擬機下,安裝了三個節(jié)點。本次搭建es同時實踐了兩種模式——單機模式和分布式模式。條件允許的話,可以在多臺機器上配置es節(jié)點,如果你機器性能有限,那么可以在一臺虛擬機上完成多節(jié)點的配置。?
如圖,是本次3個節(jié)點的分布。

hostnameIPes節(jié)點
master192.168.137.100node1、node3
slave192.168.137.101node2

?

注意:先去 /etc/hosts 文件里,將主機名修改為 master、slave,或者在本文用到hostname的地方改為你的主機名。

?

2017.8.28 博文更新es的主節(jié)點是選出來的,它不一定在master 機器上,也就是es主節(jié)點不一定非得是node1或node2,也可能是node3.

?

一、下載及配置

1.幾個基本名詞

index:?es里的index相當于一個數(shù)據(jù)庫。?
type:?相當于數(shù)據(jù)庫里的一個表。?
id:?唯一,相當于主鍵。?
node:節(jié)點是es實例,一臺機器可以運行多個實例,但是同一臺機器上的實例在配置文件中要確保http和tcp端口不同(下面有講)。?
cluster:代表一個集群,集群中有多個節(jié)點,其中有一個會被選為主節(jié)點,這個主節(jié)點是可以通過選舉產(chǎn)生的,主從節(jié)點是對于集群內(nèi)部來說的。?
shards:代表索引分片,es可以把一個完整的索引分成多個分片,這樣的好處是可以把一個大的索引拆分成多個,分布到不同的節(jié)點上,構(gòu)成分布式搜索。分片的數(shù)量只能在索引創(chuàng)建前指定,并且索引創(chuàng)建后不能更改。?
replicas:代表索引副本,es可以設(shè)置多個索引的副本,副本的作用一是提高系統(tǒng)的容錯性,當個某個節(jié)點某個分片損壞或丟失時可以從副本中恢復(fù)。二是提高es的查詢效率,es會自動對搜索請求進行負載均衡。

2.下載

名稱版本下載地址
elasticsearch1.7.3elasticsearch-1.7.3.tar.gz

下載后,放到你的目錄下并解壓. 因為我們要配置包含三個節(jié)點的集群,可以先將其重命名為elasticsearch-node1。比如我的是 /home/zkpk/elasticsearch-node1。

3.修改配置文件

(1)?初步修改?
打開/home/zkpk/elasticsearch-node1/config目錄下的elasticsearch.yml?文件 ,修改以下屬性值并取消該行的注釋:

cluster.name: elasticsearch #這是集群名字,我們 起名為 elasticsearch #es啟動后會將具有相同集群名字的節(jié)點放到一個集群下。node.name: "es-node1" #節(jié)點名字。discovery.zen.minimum_master_nodes: 2 #指定集群中的節(jié)點中有幾個有master資格的節(jié)點。 #對于大集群可以寫3個以上。 discovery.zen.ping.timeout: 40s #默認是3s,這是設(shè)置集群中自動發(fā)現(xiàn)其它節(jié)點時ping連接超時時間, #為避免因為網(wǎng)絡(luò)差而導(dǎo)致啟動報錯,我設(shè)成了40s。 discovery.zen.ping.multicast.enabled: false #設(shè)置是否打開多播發(fā)現(xiàn)節(jié)點,默認是true。 network.bind_host: 192.168.137.100 #設(shè)置綁定的ip地址,這是我的master虛擬機的IP。 network.publish_host: 192.168.137.100 #設(shè)置其它節(jié)點和該節(jié)點交互的ip地址。 network.host: 192.168.137.100 #同時設(shè)置bind_host和publish_host上面兩個參數(shù)。 discovery.zen.ping.unicast.hosts: ["192.168.137.100", "192.168.137.101","192.168.137.100:9301"] #discovery.zen.ping.unicast.hosts:["節(jié)點1的 ip","節(jié)點2 的ip","節(jié)點3的ip"] #指明集群中其它可能為master的節(jié)點ip, #以防es啟動后發(fā)現(xiàn)不了集群中的其他節(jié)點。 #第一對引號里是node1,默認端口是9300, #第二個是 node2 ,在另外一臺機器上, #第三個引號里是node3,因為它和node1在一臺機器上,所以指定了9301端口。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

(2)?進一步修改?
拷貝 elasticsearch-node1 整個文件夾,兩份,一份elasticsearch-node2,一份elasticsearch-node3.?
將elasticsearch-node2 文件夾copy到另外一臺IP為192.168.137.101的機器上。而在 192.168.137.100 機器上有 node1和node3.

對于node3:?node3和node1在一臺機器上,node1的配置文件里端口默認分別是9300和9200,所以要改一下node3配置文件里的端口,elasticsearch.yml?文件修改如下:

node.name: "es-node3" transport.tcp.port: 9301 http.port: 9201
  • 1
  • 2
  • 3

對于node2:?對?elasticsearch.yml?修改如下

node.name: "es-node2" network.bind_host: 192.168.137.101 network.publish_host: 192.168.137.101 network.host: 192.168.137.101
  • 1
  • 2
  • 3
  • 4

注意:?
1.對于單機多節(jié)點的es集群,一定要注意修改?transport.tcp.port?和http.port?的默認值保證節(jié)點間不沖突。?
2. 出現(xiàn)找不到同一集群中的其他節(jié)點的情況,檢查下?
discovery.zen.ping.unicast.hosts?是否已設(shè)置。

二、運行 & 關(guān)閉 elasticsearch

1.運行elasticsearch :

編輯 /home/zkpk/elasticsearch-1.7.3/bin/elasticsearch.in.sh, 設(shè)置 ES_MIN_MEM和ES_MAX_MEM,確保二者數(shù)值一致,或者可以在啟動es時指定,

[zkpk@master ~]$ cd ~/elasticsearch-node1/bin [zkpk@master bin]$ ./elasticsearch -Xms512m -Xmx512m
  • 1
  • 2

若想讓es后臺運行,則

[zkpk@master bin]$ ./elasticsearch -d -Xms512m -Xmx512m
  • 1

2.關(guān)閉elasticsearch:

前臺運行:可以通過”CTRL+C”組合鍵來停止運行?
后臺運行,可以通過”kill -9 進程號”停止.也可以通過REST API接口:

curl -XPOST http://主機IP:9200/_cluster/nodes/_shutdown
  • 1

來關(guān)閉整個集群,通過:

curl -XPOST http://主機IP:9200/_cluster/nodes/節(jié)點標示符(如es-node1)/_shutdown
  • 1

來關(guān)閉單個節(jié)點.

三、插件及其安裝

BigDesk Plugin :?對集群中es狀態(tài)進行監(jiān)控。?
Elasticsearch Head Plugin:?對ES進行各種操作,如查詢、刪除、瀏覽索引等。

1.安裝head插件

進入到節(jié)點elasticsearch-node1/bin路徑,并安裝插件。

[zkpk@master bin]$ ./plugin -install mobz/elasticsearch-head
  • 1

2. 安裝bigdesk

[zkpk@master bin]$ ./plugin -install lukas-vlcek/bigdesk

讓我們看下es頁面吧~~

打開head瀏覽,瀏覽器輸入http://192.168.137.100:9200/_plugin/head/?,如圖,?


?
圖1

?

每個小方塊就是索引分片,可以看到每個索引被分成幾個分片,每個分片還有它的備份分片,然后存儲在三個節(jié)點上。粗框的是主分片,細框的是備份分片。

四、添加索引

現(xiàn)在我們來添加一個索引記錄吧~

1.可以在命令窗口通過命令來添加

curl -XPUT 'http://主機IP:9200/dept/employee/32' -d '{ "empname": "emp32"}'
  • 1

見?http://www.oschina.net/translate/elasticsearch-getting-started?cmp

2.我們可以在頁面上通過JSON添加

(1)點擊 復(fù)合查詢[+] ,我們可以在 megacorp 索引 (相當于數(shù)據(jù)庫名)的 employee 類型(相當于表名)下新增一個id為2的人的信息。

?

圖2

?

點擊下方的?提交請求?按鈕,頁面右方有回饋信息,“created”代表是否為新建。添加成功。

?

圖3


點擊?瀏覽數(shù)據(jù)?,在左側(cè)?索引?下選擇?megacorp,如圖,

?

圖4


可以看到,一條id為2的記錄被添加了。

?

(2)下面我們修改id為2 的人的年齡為15,把about 信息去掉,并且加一項興趣。

?

圖5


提交后,右側(cè)有反饋信息,“created”為?false,因為我們這次不是新建而是修改。

?

?

圖6


返回瀏覽數(shù)據(jù),id為2 的記錄,年齡、興趣等均已發(fā)生變化。

?

圖7


參考:?
http://www.cnblogs.com/huangfox/p/3543351.html?
http://www.linuxidc.com/Linux/2015-02/114243.htm?
http://my.oschina.net/u/579033/blog/394845?fromerr=Kt60ej6x

?

文檔總結(jié)不易,希望能幫到各位,和各位一起進步,另,轉(zhuǎn)載請標明出處。

總結(jié)

以上是生活随笔為你收集整理的linux下elasticsearch 安装、配置及示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。