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:
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.port 和http.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的人的資訊。
點選下方的 提交請求 按鈕,頁面右方有回饋資訊,“created”代表是否為新建。新增成功。
點選 瀏覽資料 ,在左側 索引 下選擇 megacorp,如圖,
可以看到,一條id為2的記錄被添加了。
(2)下面我們修改id為2 的人的年齡為15,把about 資訊去掉,並且加一項興趣。
提交後,右側有反饋資訊,“created”為 false,因為我們這次不是新建而是修改。
返回瀏覽資料,id為2 的記錄,年齡、興趣等均已發生變化。
參考:
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
文件總結不易,希望能幫到各位,和各位一起進步,另,轉載請標明出處。
相關推薦
linux下elasticsearch 安裝、配置及示例
簡介 開始學es,我習慣邊學邊記,總結出現的問題和解決方法。本文是在兩臺linux虛擬機器下,安裝了三個節點。本次搭建es同時實踐了兩種模式——單機模式和分散式模式。條件允許的話,可以在多臺機器上配置es節點,如果你機器效能有限,那麼可以在一臺虛擬機器上完成多
ubantu下redis安裝、配置及使用
ubantu源安裝 安裝/檢視版本資訊 apt install redis-server redis-server -version redis服務啟動/重啟/關閉/檢視狀態 service redis start service redis rstart s
Windows下Git 安裝、配置及使用
1、安裝 2、配置 建立SSH 一、引子: 什麼是ssh:ssh是Secure Shell(安全外殼協議)的縮寫,建立在應用層和傳輸層基礎上的安全協議。為了便於訪問github,要生成ssh公鑰,這樣就不用每一次訪問github都要輸入使用者名稱和密碼。 二、生
Linux下SSH安裝、更新及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.10下Open-falcon微信、郵件告警安裝、配置及使用
1 郵件告警 1.1 郵件告警元件安裝 使用官方提供的一個郵件閘道器(https://github.com/open-falcon/mail-provider)配置郵件報警 下載mail-provider並安裝 #下載 cd ~/open-falcon #我的工作目錄 wget h
Ubuntu下CodeBlocks的安裝、配置及靜態庫動態庫的簡單使用舉例
1、 從Ubuntu Software Center中搜索Code::Blocks並安裝; 2、 在第一次啟動時選擇GNU GCC Compiler作為預設的編譯器; 3.1、New file ->Project… -> 選中Static library,
Elasticsearch簡單入門--elasticsearch 在Linux下的安裝、執行、停止
1.首先對Elasticsearch進行簡短的介紹 Elasticsearch是一個高度可伸縮的開源全文搜尋和分析引擎。它允許您快速、實時地儲存、搜尋和分析大量資料。它通常用作底層引擎/技術,為具有複雜搜尋特性和需求的應用程式提供支援。 核心概念:NRT、Cluster、Node、Ind
webpack4.x下babel的安裝、配置及使用
前言 目前,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
ubuntu下Jlink的安裝、配置及使用
--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
linux下LAMP安裝與配置
函數 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