Ubuntu 20.04 搭建 Elasticsearch 7.x 小集羣(qbit)

環境

  • ES 節點硬件:3 臺 AWS m5.4xlarge(16 vCPU/64GB 內存)
  • Kibana 硬件:1 臺 AWS m5.large(2 vCPU/8GB 內存)
  • 操做系統:Ubuntu 20.04 LTS
  • Elasticsearch 7.9.3
  • Kibana 7.9.3

機器示意圖

image.png

操做系統

  • 這裏主要講 EBS 的掛載和 XFS 格式化
  • 可參考官方文檔: https://docs.amazonaws.cn/AWS...
  • lsblk 命令查看磁盤概況:32G 系統盤/300G 數據盤,數據盤還沒有掛載
    image.png
  • 檢查捲上是否有文件系統html

    $ sudo file -s /dev/nvme1n1
    /dev/nvme1n1: data      # 顯示爲 data 即爲無文件系統
  • 建立 xfs 文件系統node

    $ sudo mkfs -t xfs /dev/nvme1n1
  • 再次查看磁盤git

    $ sudo file -s /dev/nvme1n1
    /dev/nvme1n1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
  • 建立 /data 目錄github

    sudo mkdir /data
  • 將新目錄掛載到新捲上ubuntu

    sudo mount /dev/nvme1n1 /data
  • 再次用 lsblk 命令查看磁盤概況
    image.png
  • 使用 lsblk -f 命令查看磁盤 UUID
    image.png
  • 編輯 /etc/fstab,添加如下條目segmentfault

    UUID=dc1eecfc-0295-44ad-97fe-d55893312f68  /data  xfs  defaults,nofail  0  2

    image.png

  • 從新掛載 /data,以確認 /etc/fstab 是否正確配置api

    sudo umount /data
    sudo mount -a
  • 重啓檢查bash

    sudo init 6

文件準備

Elasticsearch

安裝

  • 官方文檔:https://www.elastic.co/guide/...
  • 文件檢查curl

    $ shasum -a 512 -c elasticsearch-7.9.3-amd64.deb.sha512
    elasticsearch-7.9.3-amd64.deb: OK
  • 安裝jvm

    sudo dpkg -i elasticsearch-7.9.3-amd64.deb
  • 設置開機啓動

    sudo /bin/systemctl daemon-reload
    sudo /bin/systemctl enable elasticsearch.service

    通用設置

  • 通用設置對 node-1/node-2/node-3 三個節點同時適用
  • 設置 elasticsearch 可打開的最大文件數

    sudo systemctl edit elasticsearch

    添加以下內容(/etc/systemd/system/elasticsearch.service.d/override.conf

    [Service]
    LimitMEMLOCK=infinity

    重載

    sudo systemctl daemon-reload
  • 禁用交換文件:編輯 /etc/fstab,註釋掉全部含 swap 的行
  • 虛擬內存(Virtual memory)vm.max_map_count 在 Ubuntu 20.04 上用 deb 包安裝時已自動配置,無需更多設置
  • 線程數量(Number of threads,ulimit)在 systemd 上無需單獨設置
  • 設置 jvm 堆大小(/etc/elasticsearch/jvm.options)

    -Xms30g
    -Xmx30g
  • 建立目錄並更改全部者

    sudo mkdir -p /data/elasticsearch/data /data/elasticsearch/log
    sudo chown -R elasticsearch:elasticsearch /data/elasticsearch
  • 編輯 /etc/elasticsearch/elasticsearch.yml 文件

    # 添加或修改
    cluster.name: esapi
    path.data: /data/elasticsearch/data
    path.logs: /data/elasticsearch/log
    network.host: 0.0.0.0
    http.port: 9200
    discovery.seed_hosts: ["172.31.0.1", "172.31.0.2", "172.31.0.3"]
    cluster.initial_master_nodes: ["node01", "node02", "node03"]
    node.roles: [master, data, ingest]

個性化設置

  • node01 編輯 /etc/elasticsearch/elasticsearch.yml 文件

    # 添加或修改
    node.name: node01
  • node02 編輯 /etc/elasticsearch/elasticsearch.yml 文件

    # 添加或修改
    node.name: node02
  • node03 編輯 /etc/elasticsearch/elasticsearch.yml 文件

    # 添加或修改
    node.name: node03

組網問題

  • ES node 之間通訊的端口是 9300,記得防火牆要放行
  • 一直報下面的錯誤找了不少緣由,最後發現是 AWS AMI 鏡像模板把 data 服務也複製了一份,把 data 目錄清空重啓就行了。

    {
    "error" : {
      "root_cause" : [
        {
          "type" : "master_not_discovered_exception",
          "reason" : null
        }
      ],
      "type" : "master_not_discovered_exception",
      "reason" : null
    },
    "status" : 503
    }
  • 查看組網成功的節點

    $ curl http://172.31.8.192:9200/_cat/nodes
    172.31.0.2 0 53 0 0.00 0.15 0.34 dilmrt - node02
    172.31.0.3  1 52 0 0.00 0.16 0.30 dilmrt - node03
    172.31.0.1 1 52 0 0.08 0.25 0.32 dilmrt * node01

插件安裝

  • 安裝官方插件

    /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
  • 安裝本地插件

    /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/ubuntu/es_down/elasticsearch-analysis-ik-7.9.3.zip

IK 分詞器

  • 添加同義詞
  • 添加遠程詞典

Kibana

安裝

  • 官方文檔:https://www.elastic.co/guide/...
  • 文件檢查

    $ shasum -a 512 -c kibana-7.9.3-amd64.deb.sha512 
    kibana-7.9.3-amd64.deb: OK
  • 安裝

    sudo dpkg -i kibana-7.9.3-amd64.deb
  • 設置開機啓動

    sudo /bin/systemctl daemon-reload
    sudo /bin/systemctl enable kibana.service

設置

  • 編輯 /etc/kibana/kibana.yml 文件

    # 添加或修改
    server.port: 5601
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://172.31.0.1:9200", "http://172.31.0.2:9200", "http://172.31.0.3:9200"]
本文出自 qbit snap
相關文章
相關標籤/搜索