1. 程式人生 > >Elasticsearch叢集節點配置詳解

Elasticsearch叢集節點配置詳解

 注意:如果是在區域網中執行elasticsearch叢集也是很簡單的,只要cluster.name設定一致,並且機器在同一網段下,啟動的es會自動發現對方,組成叢集。

三、配置淺涉

elasticsearch的config資料夾裡面有兩個配置檔案:elasticsearch.yml和logging.yml,第一個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下elasticsearch.yml這個檔案中可配置的東西。

cluster.name:elasticsearch
配置es的叢集名稱,預設是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個叢集,就可以用這個屬性來區分不同的叢集。

node.name:"FranzKafka"
節點名,預設隨機指定一個name列表中名字,該列表在es的jar包中config資料夾裡name.txt檔案中,其中有很多作者新增的有趣名字。

node.master:true
指定該節點是否有資格被選舉成為node,預設是true,es是預設叢集中的第一臺機器為master,如果這臺機掛了就會重新選舉master。

node.data:true
指定該節點是否儲存索引資料,預設為true。

index.number_of_shards:5
設定預設索引分片個數,預設為5片。

index.number_of_replicas:1
設定預設索引副本個數,預設為1個副本。

path.conf:/path/to/conf
設定配置檔案的儲存路徑,預設是es根目錄下的config資料夾。

path.data:/path/to/data
設定索引資料的儲存路徑,預設是es根目錄下的data資料夾,可以設定多個儲存路徑,用逗號隔開,例:
path.data:/path/to/data1,/path/to/data2

path.work:/path/to/work
設定臨時檔案的儲存路徑,預設是es根目錄下的work資料夾。

path.logs:/path/to/logs
設定日誌檔案的儲存路徑,預設是es根目錄下的logs資料夾

path.plugins:/path/to/plugins
設定外掛的存放路徑,預設是es根目錄下的plugins資料夾

bootstrap.mlockall:true
設定為true來鎖住記憶體。因為當jvm開始swapping時es的效率會降低,所以要保證它不swap,可以把ES_MIN_MEM和ES_MAX_MEM兩個環境變數設定成同一個值,並且保證機器有足夠的記憶體分配給es。同時也要允許elasticsearch的程序可以鎖住記憶體,Linux下可以通過`ulimit-l unlimited`命令。

network.bind_host:192.168.0.1
設定繫結的ip地址,可以是ipv4或ipv6的,預設為0.0.0.0。


network.publish_host:192.168.0.1
設定其它節點和該節點互動的ip地址,如果不設定它會自動判斷,值必須是個真實的ip地址。

network.host:192.168.0.1
這個引數是用來同時設定bind_host和publish_host上面兩個引數。

transport.tcp.port:9300
設定節點間互動的tcp埠,預設是9300。

transport.tcp.compress:true
設定是否壓縮tcp傳輸時的資料,預設為false,不壓縮。

http.port:9200
設定對外服務的http埠,預設為9200。

http.max_content_length:100mb
設定內容的最大容量,預設100mb

http.enabled:false
是否使用http協議對外提供服務,預設為true,開啟。

gateway.type:local
gateway的型別,預設為local即為本地檔案系統,可以設定為本地檔案系統,分散式檔案系統,Hadoop的HDFS,和amazon的s3伺服器,其它檔案系統的設定方法下次再詳細說。

gateway.recover_after_nodes:1
設定叢集中N個節點啟動時進行資料恢復,預設為1。

gateway.recover_after_time:5m
設定初始化資料恢復程序的超時時間,預設是5分鐘。

gateway.expected_nodes:2
設定這個叢集中節點的數量,預設為2,一旦這N個節點啟動,就會立即進行資料恢復。

cluster.routing.allocation.node_initial_primaries_recoveries:4
初始化資料恢復時,併發恢復執行緒的個數,預設為4。

cluster.routing.allocation.node_concurrent_recoveries:2
新增刪除節點或負載均衡時併發恢復執行緒的個數,預設為4。

indices.recovery.max_size_per_sec:0
設定資料恢復時限制的頻寬,如入100mb,預設為0,即無限制。

indices.recovery.concurrent_streams:5
設定這個引數來限制從其它分片恢復資料時最大同時開啟併發流的個數,預設為5。

discovery.zen.minimum_master_nodes:1
設定這個引數來保證叢集中的節點可以知道其它N個有master資格的節點。預設為1,對於大的叢集來說,可以設定大一點的值(2-4)

discovery.zen.ping.timeout:3s
設定叢集中自動發現其它節點時ping連線超時時間,預設為3秒,對於比較差的網路環境可以高點的值來防止自動發現時出錯。

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

discovery.zen.ping.unicast.hosts:["host1", "host2:port","host3[portX-portY]"]
設定叢集中master節點的初始列表,可以通過這些節點來自動發現新加入叢集的節點

四、叢集配置多個節點

1.概述

本例子的叢集將部署4個節點:

10.0.0.11 es1

10.0.0.209 es2

10.0.0.206 es3

10.0.0.208 es4

2.叢集配置

上文提到過,只要叢集名相同,且機器處於同一區域網同一網段,es會自動去發現其他的節點。

2.1es2的配置

vimES_HOME/config/elasticsearch.yml

在檔案尾部新增一下內容:

cluster.name:elasticsearch #叢集的名稱,同一個叢集該值必須設定成相同的

node.name:"es2" #該節點的名字

node.master:true #該節點有機會成為master節點

node.data:true #該節點可以儲存資料

node.rack:rack2 #該節點所屬的機架

index.number_of_shards:5 #shard的數目

index.number_of_replicas:3 #資料副本的數目

network.bind_host:0.0.0.0 #設定繫結的IP地址,可以是IPV4或者IPV6

network.publish_host:10.0.0.209 #設定其他節點與該節點互動的IP地址

network.host:10.0.0.209 #該引數用於同時設定bind_host和publish_host

transport.tcp.port:9300 #設定節點之間互動的埠號

transport.tcp.compress:true #設定是否壓縮tcp上互動傳輸的資料

http.port:9200 #設定對外服務的http埠號

http.max_content_length:100mb #設定http內容的最大大小

http.enabled:true #是否開啟http服務對外提供服務

discovery.zen.minimum_master_nodes:2 #設定這個引數來保證叢集中的節點可以知道其它N個有master資格的節點。預設為1,對於大的叢集來說,可以設定大一點的值(2-4)

discovery.zen.ping.timeout:120s #設定叢集中自動發現其他節點時ping連線的超時時間

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

discovery.zen.ping.unicast.hosts:["10.0.0.209:9300","10.0.0.206:9300","10.0.0.208:9300"] #設定叢集中的Master節點的初始列表,可以通過這些節點來自動發現其他新加入叢集的節點

2.2es3的配置

相似地,在206的機子上

vimES_HOME/config/elasticsearch.yml

在檔案尾部新增一下內容:

cluster.name:elasticsearch #叢集的名稱,同一個叢集該值必須設定成相同的

node.name:"es3" #該節點的名字

node.master:true #該節點有機會成為master節點

node.data:true #該節點可以儲存資料

node.rack:rack3 #該節點所屬的機架

index.number_of_shards:5 #shard的數目

index.number_of_replicas:3 #資料副本的數目

network.bind_host:0.0.0.0 #設定繫結的IP地址,可以是IPV4或者IPV6

network.publish_host:10.0.0.206 #設定其他節點與該節點互動的IP地址

network.host:10.0.0.206 #該引數用於同時設定bind_host和publish_host

transport.tcp.port:9300 #設定節點之間互動的埠號

transport.tcp.compress:true #設定是否壓縮tcp上互動傳輸的資料

http.port:9200 #設定對外服務的http埠號

http.max_content_length:100mb #設定http內容的最大大小

http.enabled:true #是否開啟http服務對外提供服務

discovery.zen.minimum_master_nodes:2 #設定這個引數來保證叢集中的節點可以知道其它N個有master資格的節點。預設為1,對於大的叢集來說,可以設定大一點的值(2-4)

discovery.zen.ping.timeout:120s #設定叢集中自動發現其他節點時ping連線的超時時間

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

discovery.zen.ping.unicast.hosts:["10.0.0.209:9300","10.0.0.206:9300","10.0.0.208:9300"] #設定叢集中的Master節點的初始列表,可以通過這些節點來自動發現其他新加入叢集的節點

2.3 208的機子上的es配置就參考上面兩個節點的

2.4驗證結果

啟動節點:

ES_HOME/bin/service/elasticsearchstart

成功啟動各個節點後,瀏覽器開啟http://10.0.0.209:9200/_plugin/head/,介面會列出各個節點的資訊。

3.節點新增和刪除

3.1新增節點非常簡單,幾乎與上面設定節點的步驟一致。

在10.0.0.11機子上,vimES_HOME/config/elasticsearch.yml

cluster.name:elasticsearch #叢集的名稱,同一個叢集該值必須設定成相同的

node.name:"es5" #該節點的名字

node.master:false #該節點有機會成為master節點

node.data:true #該節點可以儲存資料

node.rack:rack5 #該節點所屬的機架

index.number_of_shards:5 #shard的數目

index.number_of_replicas:3 #資料副本的數目

network.bind_host:0.0.0.0 #設定繫結的IP地址,可以是IPV4或者IPV6

network.publish_host:10.0.0.11 #設定其他節點與該節點互動的IP地址

network.host:10.0.0.11 #該引數用於同時設定bind_host和publish_host

transport.tcp.port:9300 #設定節點之間互動的埠號

transport.tcp.compress:true #設定是否壓縮tcp上互動傳輸的資料

http.port:9200 #設定對外服務的http埠號

http.max_content_length:100mb #設定http內容的最大大小

http.enabled:true #是否開啟http服務對外提供服務

discovery.zen.minimum_master_nodes:2 #設定這個引數來保證叢集中的節點可以知道其它N個有master資格的節點。預設為1,對於大的叢集來說,可以設定大一點的值(2-4)

discovery.zen.ping.timeout:120s #設定叢集中自動發現其他節點時ping連線的超時時間

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

discovery.zen.ping.unicast.hosts:["10.0.0.209:9300","10.0.0.206:9300","10.0.0.208:9300"] #設定叢集中的Master節點的初始列表,可以通過這些節點來自動發現其他新加入叢集的節點

寫好配置,啟動此es節點。

檢視叢集的狀態:

elasticsearch採用廣播的方式自動發現節點,需要等待一段時間才能發現新的節點:

耐心等待...最後可以在此介面看到各個節點的資訊。

3.2節點刪除

在想要刪除節點的機子上,執行ES_HOME/bin/service/elasticsearchstop,等待一會後,檢視叢集狀態,會發現該節點沒有了

相關推薦

Elasticsearch叢集節點配置

 注意:如果是在區域網中執行elasticsearch叢集也是很簡單的,只要cluster.name設定一致,並且機器在同一網段下,啟動的es會自動發現對方,組成叢集。 三、配置淺涉 elasticsearch的config資料夾裡面有兩個配置檔案:elasticsear

Hadoop-2.5.2叢集安裝配置

最近學習了下hadoop的安裝。下面詳細說明下步驟 一、環境 我的是在Linux環境下進行安裝的。對於想在windows系統上學習的同學,可以採用虛擬機器方式或通過cygwin模擬linux環境方式進行學習。 現在有三臺伺服器,分配如下: 10.0.1.100 Name

搭建企業web叢集架構配置

到這裡我們的MySQL正式安裝完畢!在192.168.1.80 slave主機上安裝MySQL和上面一樣 這裡不再做演示,在這裡我slave主機已經安裝好了 八、配置MySQL主主同步之高可用 1)master操作 開啟二進位制日誌及ID如下: v

Elasticsearch 2.2.0 叢集配置

叢集分片配置 Elasticsearch master 節點的主要role就是決定每個shard分配到什麼節點,以及什麼時候在節點間遷移shard以reblance 叢集。有許多引數可以控制shard分配過程 叢集層面的分片分配引數分成3類:包括分片分配設定,分片平衡設

elasticsearch-.yml(中文配置

explicit 生產環境 設置 綁定 端口 after over rms make # ======================== Elasticsearch Configuration =========================## NOTE: Elast

elasticsearch簡單的安裝以及集群配置

nod image acl down IE rec 外網地址 imu 集群 首先要確保有java8的環境,安裝方法如下(centos) 1 wget --no-check-certificate --no-cookies --header "Cookie: oracle

Android FileProvider 屬性配置及FileProvider多節點問題

眾所周知在android7.0,修改了對私有儲存的限制,導致在獲取資源的時候,不能通過Uri.fromFile來獲取uri了我們需要適配7.0+的機型需要這樣寫: 1:程式碼適配 if (Build.VERSION.SDK_INT > 23) {//

ssh無密登入配置(hadoop叢集搭建)

ssh無密登入原理 注:私鑰和公鑰是每個使用者獨有的,而不是機器或者伺服器的,比如一臺電腦或者伺服器或者虛擬機器,可以同時存在多個使用者,但不同使用者需要遠端登入其他伺服器或者虛擬機器時,都必須配置各自的私鑰和公鑰,而且使用者之間的各不相同 常用命令 ssh ip(遠端登入也可

elasticsearch 安裝Ik+pinyin分詞配置

一、拼音分詞的應用 拼音分詞在日常生活中其實很常見,也許你每天都在用。開啟淘寶看一看吧,輸入拼音”zhonghua”,下面會有包含”zhonghua”對應的中文”中華”的商品的提示: 拼音分詞是根據輸入的拼音提示對應的中文,通過拼音分詞提升搜尋體驗、加

[Kafka] Apache Kafka 簡介、叢集搭建及配置

前言 kafka是一種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者規模的網站中的所有動作流資料。這種動作(網頁瀏覽,搜尋和其他使用者的行動)是在現代網路上的許多社會功能的一個關鍵因素。這些資料通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。 Kafk

Zookeeper叢集搭建(配置

軟體環境準備: Linux伺服器一臺、三臺、五臺(2*n+1臺);Java jdk 1.7;zookeeper 3.4.6版; 軟體安裝: 解壓jdk、zookeeper檔案到指定目錄,執行命令tar -zvxf xxxx.tar.gz -C /usr/local/pro

Elasticsearch配置

配置詳解 Cluster 叢集名稱,預設為elasticsearch: cluster.name: elasticsearch 設定一個節點的併發數量,有兩種情況,一種是在初始復甦過程中

Hadoop虛擬機器叢集搭建及配置

配置步驟 1.新建Linux虛擬機器 2.安裝jdk,獲得root許可權 3.安裝成功後複製兩個虛擬機器,分別分別命名master、slave1、slave2 4.將三個虛擬機器相互連通,配置SSH無金鑰登入 5.在master中配置Hadoop環境,配置

生產環境elasticsearch5.0.1叢集的部署配置

線上環境elasticsearch5.0.1叢集的配置部署 es叢集的規劃: 硬體: 7臺8核、64G記憶體、2T ssd硬碟加1臺8核16G的阿里雲伺服器 其中一臺作為kibana+kafka連線查詢的伺服器 其他6臺都作為node和master兩種角色 作業系統:cen

Ganglia監控叢集配置,案例分析

Ganglia監控叢集配置詳解,案例分析 1 多播方式 多播方式配置比較簡單。 服務端配置檔案 /opt/modules/ganglia/etc/gmetad.conf (注:gmeta daemon) 注:cluster_name一定要與

elasticsearch配置

因為安全問題elasticsearch不讓用root使用者直接執行,所以要建立新使用者 第一步:liunx建立新使用者 adduser XXX    然後給建立的使用者加密碼passwd XXX    輸入兩次密碼。 第二步:切換剛才建立的使用者su XXX  然後執行el

使用apache和nginx代理實現tomcat負載均衡及叢集配置

實驗環境: 1、nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 eth0: 192.168.10.20 tomcat server

ElasticSearch 各模組介紹及引數配置

      ElasticSearch包含模組由叢集管理Cluster、分片管理Shards、副本管理Replicas、恢復管理Recovery、資料來源管理River、持久化儲存管理Gateway、節點自動發現管理Discovery.zen、互動模組Trans

nginx-nginx叢集配置

tomcat專案下配置nginx叢集步驟詳解: 1.複製nginx-1.6.0資料夾到指定目錄,例D:\nginx\nginx-1.6.0。 2.修改E:\apache-tomcat-6.0.36\conf\server.xml,在源註釋的<Cluster>

elasticsearch 配置

elasticsearch的config資料夾裡面有兩個配置檔案:elasticsearch.yml和logging.yml,第一個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定