Elasticsearch5.1集羣+kibana部署


第1章 Elasticsearch簡介

Elasticsearch是個開源分佈式搜索引擎,它的特點有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。

以下簡稱Elasticsearch爲ES。

 

高可用實現:

       ES自帶了類似zookeeper的master選舉功能,ES集羣中配置3個或奇數(大於3)個master節點(具有master權限),當master出現故障或宕掉,ES會選舉其它有master權限的ES節點提升爲master節點。

 

負載均衡:

       設置兩到三個client節點,保證client節點高可用。Client節點主要用來轉發請求,做到負載均衡的作用,同時做查詢的二次匯聚,減小data節點的性能消耗。


 

 第2章 安裝ES-5.1.1

第2章 安裝ES-5.1.1

官網下載5.1.1:https://www.elastic.co/downloads

2.1 ES-5.1.1集羣規劃

Type

Hostname

Ip

Number

es-master

es-masterN

 

3

es-data

es-dataM-N

 

12

es-client

Es-clientN

 

2

kibana

kibana

 

1

 

       es-data節點安裝在256G 內存服務器上,即每臺服務器配置6個實例,每個分配內存21G。命名:es-data1-1 ~ es-data1-6  --- es-data9-1 ~ es-data12-6

2.2安裝ES-5.1.1

2.2.1 準備環境

設置hostname、關閉防火牆等不在此敘述。

 

注意爲快速安裝,先配置一個es-master實例,並測試正常啓動。

 

1. 確認jdk版本

Elasticsearch-5.1.1依賴於jdk-1.8,請確保需要安裝的機器jdk版本不低於1.8.0_73

查看:java -version

 

2. 新建es用戶

ES啓動必須使用普通用戶,約定使用es用戶

 

3. 新建路徑

新建es數據存放路徑以及日誌存放路徑,並更改用戶權限爲es

es-master機器:

# mkdir -p /hadoop/log/elastic5.1.1

# mkdir -p /data/data1/elastic

# chown -R es:es /hadoop/log/elastic5.1.1

# chown -R es:es /data/data1/elastic

 

es-data機器:

# mkdir -p /hadoop/log/elastic5.1.1/N

# mkdir -p /data/dataM/elastic

# chown -R es:es /hadoop/log/elastic5.1.1/N

# chown -R es:es /data/dataM/elastic

注:上述命令中N表示數字1到6,M表示數字1到12

 

 

4. 修改系統參數

l  /etc/security/limits.conf中配置(保證不低於以下值)

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

es soft memlock unlimited

es hard memlock unlimited

l  /etc/security/limits.d/20-nproc.conf 中配置 * soft nproc 2048

l  /etc/sysctl.conf中配置Vm.max_map_count=655360。

執行 sysctl -p

 

 

5. 安裝ES

在/hadoop下解壓ES的tar包重命名爲elastic5.1.1,更改用戶權限爲es,並保證之後的ES_HOME目錄下所有文件用戶權限皆爲es

 

2.2.2 插件安裝

1. 安裝xpack

官網上下載zip包: x-pa ck-5.1.1.zip,到每個節點$ES_HOME,執行命令:

$ cd $ES_HOME

$ ./bin/elasticsearch-plugin install file:///data/x-pack-5.1.1.zip

 

到$KIBANA_HOME(爲kibana的主目錄,下同),執行命令

bin/kibana-plugin install file:///opt/soft/x-pack-5.1.1.zip

 

2. 安裝elasticsearch-sql

下載地址:https://github.com/NLPchina/elasticsearch-sql/releases/elasticsearch-sql-5.1.1.0.zip

 

$ cd $ES_HOME

$ ./bin/elasticsearch-plugin install file:///data/elasticsearch-sql-5.1.1.0.zip

 

2.2.3 修改配置

修改ES實例的jvm,在ES_HOME/config目錄下,修改jvm.options

-Xms21g

-Xmx21g

 

主要修改配置文件config/elasticsearch.yml,嚴格按照原來的格式修改,否則不識別:

1.     es-master節點的配置如下: (.yml的文件冒號後面必須加空格)

cluster.name: opes

node.name:es-masterZ #實例名,Z代表數字1,2,3

network.host:10.33.208.50  # ip/hostname

node.master:true  #設置充當master節點,默認爲true

node.data:false   #設置不充當data節點,默認爲true

http.port:9200 #配置http端口,多個實例時該值遞增配置:9201…

transport.tcp.port: 9300#配置tcp連接端口,多個實例遞增配置

path.data:/data/data1/elastic

path.logs:/hadoop/log/elastic5.1.1

script.inline: true

script.stored: true

bootstrap.memory_lock:true #禁用swapping

discovery.zen.ping.unicast.hosts:["es-master1:9300"," es-master2:9300"," es-master3:9300"]

discovery.zen.minimim_master_nodes: 2

xpack.security.enabled: false #不啓用x-pack安全機制

 

2.     es-data節點配置

複製es-master的配置,修改藍色標記的部分即可

node.name:es-dataM-N  #此處的M-N表示第M個數據節點的第N個實例

network.host:10.33.208.35

node.master:false

node.data:true

path.data:/data/dataA/elastic, /data/dataB/elastic #數字A=2*N-1 B=2*N

path.logs:/hadoop/log/elastic5.1.1/N

http.port:9200 #配置http端口,多個實例時該值遞增配置:9201、9202…

transport.tcp.port: 9300#配置tcp連接端口,多個實例遞增配置

node.max_local_storage_nodes:6 #新增,設置單機實例數

script.inline: true

script.stored: true

bootstrap.memory_lock:true #禁用swapping

discovery.zen.ping.unicast.hosts:["es-master1:9300"," es-master2:9300"," es-master3:9300"]

discovery.zen.minimim_master_nodes: 2

xpack.security.enabled: false #不啓用x-pack安全機制

3.     es-client 節點配置

複製es-master的配置,修改藍色標記的部分即可

node.name:es-client#此處的N表示第N個client節點

network.host:10.33.208.107

node.master: false

node.data: false

path.data:/data/dataA/elastic, /data/dataB/elastic #數字A=2*N-1 B=2*N

path.logs:/hadoop/log/elastic5.1.1/N

http.port:9200 #配置http端口,多個實例時該值遞增配置:9201、9202…

transport.tcp.port: 9300#配置tcp連接端口,多個實例遞增配置

script.inline: true

script.stored: true

bootstrap.memory_lock:true #禁用swapping

discovery.zen.ping.unicast.hosts:["es-master1:9300"," es-master2:9300"," es-master3:9300"]

discovery.zen.minimim_master_nodes: 2

xpack.security.enabled: false #不啓用x-pack安全機制

 

2.2.4 啓動節點

以es用戶啓動es-master,第一次在前臺啓動,無錯則訪問http://es-master1:9200

# su es

$ cd ES_HOME

$ bin/elasticsearch

 

後臺啓動:bin/elasticsearch-d

查看es進程:jps

停止es進程:kill $pid

 

2.2.5集羣配置

將需要部署es的所有機器準備好環境,即2.2.1的步驟1-4。

配置好第一個es-master實例,併成功啓動。

分發安裝好的es-master實例的Elasticsearch安裝包到ES集羣的所有master節點,修改配置文件,成功啓動。

配置一個es-data實例啓動,安裝kibana監控到集羣節點正常(觀測到啓動的所有master實例以及es-data實例)後,分發安裝包到所有節點配置es-data實例。

注意:對於單機多實例的配置,暫定/hadoop目錄下拷貝ES安裝包多份,命名規則爲 elastic5.1.1-N,對應其配置中的node.name的命名es-dataM-N後綴,以及日誌目錄/hadoop/log/elastic5.1.1/N

 

2.2.6 啓動集羣

啓動集羣需注意先啓動至少兩個master節點,再啓動data節點。

2.2.7 更換license

註冊免費的licence 有效期一年(x-monitor):https://register.elastic.co/

導入license的json文件

注:導入後security、report、alert不能再用,謹慎使用

curl -XPUT'http://<host>:<port>/_license' -d @license.json

命令失敗執行下一條:curl -XPUT  'http://<host>:<port>/_xpack/license?acknowledge=true' -d @license.json

查看license信息

curl -XGET'http://<host>:<port>/_license'


2.2.8  

第3章 安裝Kibana-5.1.1

解壓到/hadoop目錄下重命名爲kibana5.1.1,修改配置文件config/kibana.yml

  

Server.host  配置機器ip/hostname

Server.name 此kibana服務的名稱

elasticsearch.url  es master節點url

 

啓動kibana  bin/kibana

後臺啓動:nohupbin/kibana &

停止kibana:ss -lntp | grep 5601       kill  $pid

 

安裝xpack

官網上下載zip包: x-pack-5.1.1.zip,到$KIBANA_HOME(kibana的安裝目錄)

# cd KIBANA_HOME

# bin/kibana-plugin install file:///opt/soft/x-pack-5.1.1.zip

 

不啓用x-pack安全機制

分別在kibana.yml 和elasticsearch.yml中加入下行

xpack.security.enabled: false

 

安裝xpack後重啓kibana

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章