1. 程式人生 > >linux下elasticsearch 安裝、配置及示例

linux下elasticsearch 安裝、配置及示例

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

hostname IP es節點
master 192.168.137.100 node1、node3
slave 192.168.137.101 node2
注意:先去 /etc/hosts 檔案裡,將主機名修改為 master、slave,或者在本文用到hostname的地方改為你的主機名。

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

一、下載及配置

1.幾個基本名詞

index: es裡的index相當於一個數據庫。
type: 相當於資料庫裡的一個表。
id: 唯一,相當於主鍵。
node:節點是es例項,一臺機器可以執行多個例項,但是同一臺機器上的例項在配置檔案中要確保http和tcp埠不同(下面有講)。
cluster:代表一個叢集,叢集中有多個節點,其中有一個會被選為主節點,這個主節點是可以通過選舉產生的,主從節點是對於叢集內部來說的。
shards:

代表索引分片,es可以把一個完整的索引分成多個分片,這樣的好處是可以把一個大的索引拆分成多個,分佈到不同的節點上,構成分散式搜尋。分片的數量只能在索引建立前指定,並且索引建立後不能更改。
replicas:代表索引副本,es可以設定多個索引的副本,副本的作用一是提高系統的容錯性,當個某個節點某個分片損壞或丟失時可以從副本中恢復。二是提高es的查詢效率,es會自動對搜尋請求進行負載均衡。

2.下載

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

3.修改配置檔案

(1) 初步修改
開啟/home/zkpk/elasticsearch-node1/config目錄下的elasticsearch.yml 檔案 ,修改以下屬性值並取消該行的註釋:

cluster.name:  elasticsearch
#這是叢集名字,我們 起名為 elasticsearch
#es啟動後會將具有相同叢集名字的節點放到一個叢集下。

node.name: "es-node1"
#節點名字。

discovery.zen.minimum_master_nodes: 2
#指定叢集中的節點中有幾個有master資格的節點。
#對於大叢集可以寫3個以上。

discovery.zen.ping.timeout: 40s

#預設是3s,這是設定叢集中自動發現其它節點時ping連線超時時間,
#為避免因為網路差而導致啟動報錯,我設成了40s。

discovery.zen.ping.multicast.enabled: false
#設定是否開啟多播發現節點,預設是true。

network.bind_host: 192.168.137.100
#設定繫結的ip地址,這是我的master虛擬機器的IP。

network.publish_host: 192.168.137.100
#設定其它節點和該節點互動的ip地址。

network.host: 192.168.137.100
#同時設定bind_host和publish_host上面兩個引數。

discovery.zen.ping.unicast.hosts: ["192.168.137.100",  "192.168.137.101","192.168.137.100:9301"]
#discovery.zen.ping.unicast.hosts:["節點1的 ip","節點2 的ip","節點3的ip"]
#指明叢集中其它可能為master的節點ip,
#以防es啟動後發現不了叢集中的其他節點。
#第一對引號裡是node1,預設埠是9300,
#第二個是 node2 ,在另外一臺機器上,
#第三個引號裡是node3,因為它和node1在一臺機器上,所以指定了9301埠。

(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

對於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.對於單機多節點的es叢集,一定要注意修改 transport.tcp.porthttp.port 的預設值保證節點間不衝突。
2. 出現找不到同一叢集中的其他節點的情況,檢查下
discovery.zen.ping.unicast.hosts 是否已設定。

二、執行 & 關閉 elasticsearch

1.執行elasticsearch :

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

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

若想讓es後臺執行,則

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

2.關閉elasticsearch:

前臺執行:可以通過”CTRL+C”組合鍵來停止執行
後臺執行,可以通過”kill -9 程序號”停止.也可以通過REST API介面:

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

來關閉整個叢集,通過:

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

來關閉單個節點.

三、外掛及其安裝

BigDesk Plugin : 對叢集中es狀態進行監控。
Elasticsearch Head Plugin: 對ES進行各種操作,如查詢、刪除、瀏覽索引等。

1.安裝head外掛

進入到節點elasticsearch-node1/bin路徑,並安裝外掛。

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

2. 安裝bigdesk

[[email protected] bin]$ ./plugin -install lukas-vlcek/bigdesk

讓我們看下es頁面吧~~


這裡寫圖片描述
圖1

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

四、新增索引

現在我們來新增一個索引記錄吧~

1.可以在命令視窗通過命令來新增

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

2.我們可以在頁面上通過JSON新增

(1)點選 複合查詢[+] ,我們可以在 megacorp 索引 (相當於資料庫名)的 employee 型別(相當於表名)下新增一個id為2的人的資訊。

這裡寫圖片描述

圖2

點選下方的 提交請求 按鈕,頁面右方有回饋資訊,“created”代表是否為新建。新增成功。

這裡寫圖片描述

圖3

點選 瀏覽資料 ,在左側 索引 下選擇 megacorp,如圖,

這裡寫圖片描述

圖4

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

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

這裡寫圖片描述

圖5

提交後,右側有反饋資訊,“created”為 false,因為我們這次不是新建而是修改。

這裡寫圖片描述

圖6

返回瀏覽資料,id為2 的記錄,年齡、興趣等均已發生變化。

這裡寫圖片描述

圖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

文件總結不易,希望能幫到各位,和各位一起進步,另,轉載請標明出處。

相關推薦

linuxelasticsearch 安裝配置示例

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

ubanturedis安裝配置使用

ubantu源安裝 安裝/檢視版本資訊 apt install redis-server redis-server -version redis服務啟動/重啟/關閉/檢視狀態 service redis start service redis rstart s

WindowsGit 安裝配置使用

1、安裝 2、配置 建立SSH 一、引子: 什麼是ssh:ssh是Secure Shell(安全外殼協議)的縮寫,建立在應用層和傳輸層基礎上的安全協議。為了便於訪問github,要生成ssh公鑰,這樣就不用每一次訪問github都要輸入使用者名稱和密碼。 二、生

LinuxSSH安裝更新XShell連線

本文以Ubuntu為例進行說明 ssh程式分為有客戶端程式openssh-client和服務端程式openssh-server。如果需要ssh登陸到別的電腦,需要安裝openssh-client,該程式ubuntu是預設安裝的。而如果需要從遠端連線到本機,則需要安裝ope

linux環境Nginx的安裝配置使用

額外 back 服務 文件 com 行程 pcre 可執行程序 width 因為工作環境大多數都是windows server服務器,僅有的linux服務器同事們都在搶著用,所以特意買了一臺阿裏雲服務器,感興趣的小夥伴可以了解一下,一年只要293: https://prom

Centos6.10Open-falcon微信郵件告警安裝配置使用

1 郵件告警 1.1 郵件告警元件安裝 使用官方提供的一個郵件閘道器(https://github.com/open-falcon/mail-provider)配置郵件報警 下載mail-provider並安裝 #下載 cd ~/open-falcon #我的工作目錄 wget h

UbuntuCodeBlocks的安裝配置靜態庫動態庫的簡單使用舉例

1、  從Ubuntu Software Center中搜索Code::Blocks並安裝; 2、  在第一次啟動時選擇GNU GCC Compiler作為預設的編譯器; 3.1、New file ->Project… -> 選中Static library,

Elasticsearch簡單入門--elasticsearchLinux安裝執行停止

1.首先對Elasticsearch進行簡短的介紹 Elasticsearch是一個高度可伸縮的開源全文搜尋和分析引擎。它允許您快速、實時地儲存、搜尋和分析大量資料。它通常用作底層引擎/技術,為具有複雜搜尋特性和需求的應用程式提供支援。 核心概念:NRT、Cluster、Node、Ind

webpack4.xbabel的安裝配置使用

前言   目前,ES6(ES2015)這樣的語法已經得到很大規模的應用,它具有更加簡潔、功能更加強大的特點,實際專案中很可能會使用採用了ES6語法的模組,但瀏覽器對於ES6語法的支援並不完善。為了實現相容,就需要使用轉換工具對ES6語法轉換為ES5語法,bab

python3.6 + django2.0的xadmin安裝配置報錯解決

用過django的朋友都知道,django自帶的後臺管理系統是一套智慧的管理系統。 今天給大家介紹下一套基於admin, 比admin更強大的系統。 xadmin 原始碼安裝: clone 或者 下載到本地以後,把xadmin資料夾直接拷貝到專案目錄中,就像

CentOS6.5 Asterisk 的安裝配置 2個軟電話實現互撥

[general]                              //類似與全域性變數 context  = default                 srvlookup = yes                   //DNS SRV記錄查詢 [111] secret=aaa      

ubuntuJlink的安裝配置使用

--PC環境:Ubuntu12.10 32bit--開發板:友善之臂mini2440--Jlink版本:J-Link ARM V8PS:本文主要參考資料:1、Ubuntu 10.04下J-Link配置及使用:http://bbs.chinaunix.net/thread-3

oracle em企業管理器的安裝配置相關問題

密碼 技術分享 分享 control spa alt .com 企業管理 gre 2017-05-10 一、配置ORACLE_UNQNAME環境變量 二、重建EM資料庫:emca -repos recreate 三、配置EM賬號密碼:DBSNMP、SYSMAN 四、配置EM

Db2數據庫在Linux安裝配置

fig 用戶密碼 oca authent linux token reat local ken 一.DB2數據庫的安裝和配置: 1.安裝完成後,需要增加三個操作系統的組和三個操作系統用戶,如下: groupadd -g 999 db2iadm1 #(管理實例的組) gro

linuxLAMP安裝配置

函數 rri osi ase live ins php expose share 安裝 一. Apache 安裝 yum install -y httpd啟動 /etc/init.d/httpd start備註:Apache啟動之後會提示錯誤: 正在啟動http

PHP安裝配置拓展總結

lin 底層 mcr 程序 off bug so庫 處理 why 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 PHP安裝、配置及拓展總結: 本篇文章主要總結的是PHP的安裝、配置、拓展庫的添加及驗證,實現平臺為Unix/Linux/Mac OS X

Nginx安裝配置使用總結

base 搭建 超時 refused splay ssl == 一個 document 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 Nginx的安裝、配置及使用總結: Nginx是一個高性能的HTTP及反向代理服務器,也是IMAP/POP3/

PHP安裝配置拓展

min 軟件 prefix ttl sum director core dev don 主要總結的是PHP的安裝、配置、拓展庫的添加及驗證,實現平臺為Unix/Linux/Mac OS X,這裏也包括日後的技術文章,只將PHP語言作為服務器端腳本和命令式腳本的使用進行總

Linux單機安裝部署kafka代碼實現

{} edt serial integer exc height 復制 有一個 images 技術交流群:233513714 這幾天研究了kafka的安裝及使用,在網上找了很多教程但是均以失敗告終,直到最後想起網絡方面的問題最終才安裝部署成功,下面就介紹一下kaf

Cscope安裝配置使用

ron pat str 虛擬機 含義 符號 設置 配置 es2017 安裝及配置 步驟一:設置Cscope: 一、下載 二、安裝 三、建立數據庫 首先在目錄下建立cscope索引文件 find `pwd` -name ‘*.c‘ -o -name ‘*.h‘> csc