Elasticsearch安裝


Elasticsearch安裝

liunx 安裝

下載

登錄你的服務器,作者在這里准備了一台雲服務器,創建一個目錄,將Elasticsearch下載到你的服務器上。

# 創建目錄 es
mkdir es 
# 進入es目錄
cd /es
# 下載es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz

如下圖,正在進行下載。可能會有點慢。

減壓

下載完成后,在你的es目錄下會有一個壓縮包elasticsearch-7.8.0-linux-x86_64.tar.gz,如下圖

我們執行下面的這條命令進行減壓,減壓處理啊一個文件夾elasticsearch-7.8.0

 tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz 

進入到elasticsearch-7.8.0我們看一下目錄結構

目錄介紹:

  • bin:該目錄放置的是一些操作 Elasticsearch的腳本文件,包括啟動腳本文件
  • config:這個目錄下有一個很重要的文件 elasticsearch.yml,這個是配置 es的文件,后面我們配置集群就是在這文件中進行的
  • jdk: elasticsearch自帶的jdk
  • lib: elasticsearch依賴的一些 jar
  • logs: 日志文件存放的目錄
  • modules:模塊庫
  • plugins:存放插件的目錄,后面我們用到的插件直接放在這個目錄下就好了

啟動

正常情況下我們只需要進入到bin目錄下,執行如下命令,一個es節點就啟動成功了,但是如果你是一台新的服務器,就會遇到很多問題。

sh elasticsearch

JDk版本問題

上面這條命令輸入以后,首先報的錯誤就是jdk的版本問題。因為作者使用的是es最新的版本7.8的版本,這個版本默認的jdk是11,因為作者服務器上的版本的1.8的jdk,所以會報如下的錯誤:

future versions of Elasticsearch will require Java 11; your Java version from [/usr/lib/jvm/java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64] does not meet this requirement

問題搞明白了后,我們就需要在服務器上安裝JDK11,具體安裝步驟如下:

  • 刪除服務器上的JDk1.8,找到你的jdk安裝的路徑,執行如下的命令,查找安裝目錄

    # 查找jdk
    rpm -qa|grep jdk
    # 卸載
    yum -y remove java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
    # 驗證
    java -version
  • 搜索JDK11,執行如下命令,可以看到搜索的結果

    # 搜索JDK11
    yum search java-11-openjdk
  • 安裝JDK11,執行如下命令進行安裝

    # 安裝
    yum install java-11-openjdk-headless.x86_64
  • 驗證

    java -version
    #輸出如下,說明安裝成功
    openjdk version "11.0.8" 2020-07-14 LTS
    OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)

    配置環境變量

    編輯profile文件,

     # 編輯文件
     vi /etc/profile

    配置如下信息

     JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64
     JRE_HOME=$JAVA_HOME/jre
     CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
     PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
     export JAVA_HOME JRE_HOME CLASS_PATH PATH

    或者使用es自帶的jdk,下面我們來配置一下,進入到/bin目錄下找到elasticsearch-env找到JAVA編輯配置如下內容

    JAVA =/es/elasticsearch-7.8.0/jdk/bin/java
    JAVA_TYPE="JAVA_HOME"

    由於是在執行sh elasticsearch命令還是會報錯,所以我們需要創建一個新的用戶

創建用戶

有以上的問題可以知道,es是不允許使用root用戶進行啟動的,因此我們需要創建一個普通的用戶

 #添加用戶 triumphxx
 useradd triumphxx
 #設置密碼 根據提示輸入倆次密碼
 passwd triumphxx123
 #設置用戶權限
 visudo
 #添加如下內容,在root ALL=(ALL)  ALL  下面增加新用戶的信息
 triumphxx  ALL=(ALL)  ALL 

更改文件權限

 chown -R triumphxx:triumphxx elasticsearch-7.8.0

繼續啟動

 # 切換用戶到triumphxx
 su triumphxx
 # 啟動
 sh elasticsearch

根據輸出的日志我們還需要修改如下的配置文件/elasticsearch-7.8.0/bin/elasticsearch-env,/etc/sysctl.conf,/elasticsearch-7.8.0/config/jvm.options,/elasticsearch-7.8.0/config/elasticsearch.yml

根據啟動es啟動的報錯日志,我們需要修改文件lasticsearch-env的倆個符號問題

 把  done  < (env) 修改改為   done <<< 'env'

修改jvm.options文件中的內容如下

# 原來的1g
-Xms1g
-Xmx1g
# 修改為256m
-Xms256m
-Xmx256m

ysctl.conf文件中添加如下內容

vm.max_map_count = 262144

以及需要創建的倆個目錄:/path/to/data,/path/to/logs,這倆個目錄的配置是在elasticsearch.yml文件中,如下:

# 數據目錄
path.data: /path/to/data
# 日志目錄
path.logs: /path/to/logs

創建完成后,我們需要切換到root用戶下將目錄的權限授權給啟動es的用戶triumphxx,執行如下倆條命令進行授權

chown -R triumphxx:triumphxx /path/to/data/
chown -R triumphxx:triumphxx /path/to/logs/

以上這些配置小伙伴們不必擔心不會配置,因為在你啟動es的時候,日志里都會進行詳細的說明,只要大家,按着提示找到對應的文件進行修改添加配置即可。

驗證

查看es輸出的日志,有如下內容,說明啟動成功

訪問

在瀏覽器輸入ip:端口輸出如下內容,說明我們的es已經完全啟動起來了

{
  "name" : "node-1",
  "cluster_name" : "es",
  "cluster_uuid" : "P2_t8-aPS_iB_7trNLztMg",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

mac os 安裝

mac安裝是基於docker來進行安裝。如果小伙伴們沒有docker需要先行安裝dockerdocker安裝教程

由於docker默認的的鏡像倉庫是國外的,受網絡限制,所以小伙伴們,可以去注冊一個 國內的鏡像倉庫 網易雲鏡像倉庫->點擊前往

找到鏡像中心,搜索你要下載的鏡像進行復制鏡像地址,進行下載。

到你的終端執行如下命令,進行下載

# 下載鏡像
 docker pull hub.c.163.com/library/elasticsearch:latest

看到如下,內容表示,鏡像已經下載完成

查看你的鏡像,執行如下命令,可以看到我們的本地鏡像倉庫,已經有了es的鏡像

docker images

啟動

執行如下命令進行啟動,具體命令參數就不多說了,前面的docker系列文章有介紹,大家可以去一下

docker run -d -p9200:9200 hub.c.163.com/library/elasticsearch

驗證

在瀏覽器輸入http://localhost:9200/,返回如下內容,表示啟動成功

{
  "name" : "v9Lxequ",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "7tziSgTMROaSHHu3X_ozIA",
  "version" : {
    "number" : "5.5.2",
    "build_hash" : "b2f0c09",
    "build_date" : "2017-08-14T12:33:14.154Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

小結

好啦,小伙伴們,我們具體主要討論的是在倆個環境上裝我們的Es,雲服務器上安裝的部分稍微說的多了一點,原因是我們可能安裝不同的ES版本,會遇到各式各樣的問題,希望小伙伴們都能夠解決。后續我們就會進行實戰環節,讓我們就實際的來操作es


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM