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自帶的jdklib: 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需要先行安裝docker, docker安裝教程
由於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。
