天天看點

[Ubuntu]小白也可以看的入門級 Elasticsearch 從搭建到使用,解決下載下傳慢和外網通路問題

點選進入國内源清單頁面 - 國内好人網盤下載下傳Elasticsearch、Kibana、Logstash

PS:童叟無欺,位址不是我的。

PS:諸君自取,文末附送Python操作Elasticsearch操作代碼。(抱歉抱歉,目前沒有,先占坑)

安裝和啟動

Elasticsearch

JAVA

運作環境,是以我們需要安裝

Java Development Kit

,也就是

JAVA

的開發工具包(放心,這隻是安裝個

JAVA

環境包,用不到

JAVA

)。

  1. 安裝

    JDK

    之前要先解除安裝系統自帶的

    openjdk

    ,解除安裝指令:
    sudo apt-get remove openjdk*
               
  2. 下載下傳

    JDK

    下載下傳連結

    選擇

    jdk-8u241-linux-x64.tar.gz

    ,下載下傳即可
  3. 安裝

    JDK

    注:這裡的/usr/java是自己建立的檔案夾,你可以随意選擇你喜歡放的地方

    • 解壓至

      /usr/java

      tar zxvf jdk-8u241-linux-x64.tar.gz -C /usr/java/
                 
    • 編輯環境變量配置檔案
      sudo vim ~/.bashrc
                 
    • 檔案末尾加上自定義環境變量。我這裡是

      /usr/java

      以及

      /usr/java/jdk

      export JAVA_HOME=/usr/java/jdk
      export JRE_HOME=${JAVA_HOME}/jre  
      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
      export PATH=${JAVA_HOME}/bin:$PATH  
                 
    • 立即生效
      source ~/.bashrc
                 
  4. 檢查

    JDK

    安裝成功
    java -version
    javac -version
               
  5. Elasticsearch

    下載下傳與安裝

    官方下載下傳連結

    可以使用文章開始提到的國内源下載下傳,速度會很快

    我這裡下載下傳的是

    7.3

    版本,舊版本和新版本在操作上有挺多不同

    解壓下載下傳後的

    tar.gz

    包即可使用,無需安裝。不得不說

    es

    系列的封裝還是很友好的,達到了開箱即用的效果。
    tar zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz
               
  6. Elasticsearch

    啟動,在

    ES

    目錄下執行以下指令即可
    bin/elasticsearch
               
    通路 http://127.0.0.1:9200/,有結果則啟動成功
  7. Elasticsearch

    外網通路,遇到的坑
    • 如需外網通路,修改

      ES

      的配置檔案即可。
      sudo vim config/elasticsearch.yml
                 
      找到

      network.host

      ,取消注釋,修改值為

      0.0.0.0

      # Set the bind address to a specific IP (IPv4 or IPv6):
      network.host: 0.0.0.0
                 
    • 不出意外的話,重新啟動會報錯,下面是兩個錯誤和對應的修複方法,諸君自取

      2.1

      錯誤如下:

      elasticsearch ERROR: [2] bootstrap checks failed

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

      修複如下:

      2.1.1 修改檔案

      /etc/sysctl.conf

      sudo vim /etc/sysctl.conf
                 
      2.1.2 檔案末尾添加一行配置:
      vm.max_map_count=655360
                 
      2.1.3 檢視是否生效
      sudo sysctl -p
                 

      2.2

      錯誤如下:

      [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

      修複如下:

      2.2.1 修改檔案

      elasticsearch.yml

      sudo vim config/elasticsearch.yml
                 
      2.2.2 取消注釋

      cluster.initial_master_nodes

      ,保留一個節點
      # Bootstrap the cluster using an initial set of master-eligible nodes:
      cluster.initial_master_nodes: ["node-1"]
                 
      重新開機服務,通路正常