天天看點

ELK系列之ElasticSearch叢集的安裝部署

前言

ELK作為日志收集、分析和展示的元件,功能十分強大。本系列将介紹ELK的安裝和基于執行個體的使用過程,每個步驟和測試執行個體都是親自實驗過的。本篇将介紹ElasticSearch叢集的安裝,部署的ElasticSearch的版本為7.2,JDK8的版本,計劃用三台機器組成一個ElasticSearch叢集,進而組成高可用。

官網下載下傳:https://www.elastic.co/cn/downloads/elasticsearch

百度雲盤:百度雲盤連結 提取碼:g34e

1、本地環境

IP 使用者 元件
192.168.158.129 elk elasticsearch ,head
192.168.158.130 elk elasticsearch
192.168.158.131 elk elasticsearch

2、安裝ElasticSearch

在安裝之前,我們需要安裝JDK8的環境,沒有安裝的,先看下面的連結進行安裝:JDK8安裝教程連結

  1. ELK不允許使用root賬戶,我們建立elk使用者
  1. 解壓
[[email protected] ~]# su elk
[[email protected] root]$ cd /home/elk/
[[email protected] ~]$ tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz
           
  1. 編輯配置檔案
[[email protected] ~]$ vi elasticsearch-7.2.0/config/elasticsearch.yml
           

在檔案的最底部添加上以下配置:

#三個叢集需要同樣的叢集名
cluster.name: my-application
#每個node的名字需要唯一
node.name: node-1
node.master: true
#允許該節點存儲資料(預設開啟)
node.data: true
#資料存放的位置,需要建立一個目錄
path.data: /home/elk/elasticsearch-7.2.0/data
#日志存放的位置,需要建立一個目錄
path.logs: /home/elk/elasticsearch-7.2.0/log
#監聽的ip
network.host: 0.0.0.0
#監聽的端口
http.port: 9200
transport.tcp.port: 9300
xpack.security.enabled: false
#允許跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.158.129", "192.168.158.130", "192.168.158.131"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
           
  1. 主機參數修改

修改參數是為了解決es啟動時的這二個報錯

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

[[email protected] ~]$ su root
[[email protected] elk]# vi /etc/sysctl.conf
           

添加下面的配置

vm.max_map_count=655360
           

并執行下面指令,讓配置生效

繼續修改另外一個配置

在檔案的最底部,添加下面的配置

*               soft    nofile          65536
*               hard    nofile          65536
*               soft    nproc           4096
*               hard    nproc           4096
           

編輯好儲存後,退出該使用者,再登入,讓配置生效,我們來檢視下,使用者可以打開檔案的最大數目、使用者可以開啟程序/線程的最大數目是否已經修改

[[email protected] elk]# ulimit -Hn
65536
[[email protected] elk]# ulimit -Hu
4096
           
  1. 啟動
[[email protected] elk]# cd elasticsearch-7.2.0/bin/
[[email protected] bin]# su elk
#-d 表示背景啟動,-p 表示啟動的程序号儲存在pid.log中
[[email protected] bin]$ ./elasticsearch -d -p pid.log
           

啟動成功後,将另外兩台機器進行重複操作,配置檔案唯一的差別是node.name分别為node-2、node-3,其它配置不變。

  1. 叢集啟動

配置完主從節點,三台機器同時啟動elasticsearch,關閉防火牆,執行以下指令看是否安裝成功

#關閉防火牆,否則請求會出現503
[[email protected] bin]# systemctl stop firewalld.service
[[email protected] bin]# su elk
[[email protected] bin]$ curl -XGET http://127.0.0.1:9200/_cat/nodes?pretty
#出現下面的結果就表示叢集搭建成功了
192.168.158.129  8 88 10 0.11 0.17 0.12 mdi * node-1
192.168.158.130 10 86  9 0.13 0.27 0.13 mdi - node-2
192.168.158.131 11 86 12 0.18 0.28 0.13 mdi - node-3
           

3、安裝head

在elasticsearch的進階版本之後,head不在是一個插件,而是一個獨立的應用來部署,需要安裝node

  1. 安裝node(已經安裝的可以忽略)

将安裝包上傳到/usr/local/(我習慣的)目錄下

#解壓
[[email protected] local]# tar -zxvf node-v8.16.0-linux-x64.tar.gz
#重命名
[[email protected] local]# mv node-v8.16.0-linux-x64 nodejs
#通過建立軟連接配接變為全局
[[email protected] local]# ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
[[email protected] local]# ln -s /usr/local/nodejs/bin/node /usr/local/bin/
#檢視版本
[[email protected] local]# node -v
v8.16.0
           
  1. 部署head
#解壓
[[email protected] ~]$ unzip elasticsearch-head-master.zip
[[email protected] ~]$ cd elasticsearch-head-master
#安裝
[[email protected] elasticsearch-head-master]$ npm install
#運作
[[email protected] elasticsearch-head-master]$ npm run start
           

啟動後,如果不報錯,可以用netstat nltp 檢視下端口,看到9100端口,就表示安裝成功了,如果在window中通路,需要更改一下檔案

[[email protected] elasticsearch-head-master]$ vi Gruntfile.js
           

找到下面位置,增加hostname行,就可以在window浏覽器中使用ip:9100通路了

connect: {
       server: {
               options: {
                       hostname:'0.0.0.0',
                       port: 9100,
                       base: '.',
                       keepalive: true
               }
       }
}
           

安裝成功後,打開 http://192.168.158.129:9100/,浏覽器顯示如下的界面,則安裝成功:

ELK系列之ElasticSearch叢集的安裝部署

在Head元件的界面上,可以很友善的檢視叢集的狀态和資料。

結束語

本篇到此,elasticsearch的安裝就結束了,下一篇,将介紹logstash和kibana的安裝。

如果本篇對您有幫助,請點個贊再走,您的點贊是部落客的動力!

繼續閱讀