ElasticSearch在linux上安裝部署


一.安裝准備工作
安裝參考文檔:

ELK官網:https://www.elastic.co/

ELK官網文檔:https://www.elastic.co/guide/index.html

ELK中文手冊:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

ELK中文社區:https://elasticsearch.cn/

ELK-API :https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

(1)、規划安裝目錄

  /usr/local

(2)、下載安裝包

訪問elasticSearch官網地址 https://www.elastic.co/

下載指定版本的安裝包:elasticsearch-6.6.0.tar.gz

(3)、上傳安裝包到指定目錄

     通過FTP工具上傳安裝包到指定目錄,  或者在服務器目錄下直接下載:  wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz

(4)、解壓安裝包

tar -zxvf elasticsearch-6.6.0.tar.gz -C /export/servers

(5)、重命名安裝目錄

mv elasticsearch-6.6.0 elasticsearch

(6)、修改配置文件

進入到es安裝目錄下的config文件夾中,修改elasticsearch.yml 文件

修改的主要內容:

#配置es的集群名稱,默認是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個集群,就可以用這個屬性來區分不同的集群。
cluster.name: my-es
#節點名稱
node.name: node-1
#設置索引數據的存儲路徑
path.data: /usr/local/elasticsearch/data
#設置日志的存儲路徑
path.logs: /usr/local/elasticsearch/logs
#設置當前的ip地址,通過指定相同網段的其他節點會加入該集群中
network.host: 0.0.0.0
#設置對外服務的http端口
http.port: 9200
#設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點
discovery.zen.ping.unicast.hosts: ["127.0.0.1","10.10.10.34:9200"]

 

 注:

  1、補齊必要的目錄

  mkdir -p /usr/local/elasticsearch/data

 

  mkdir -p /usr/local/elasticsearch/logs     (目錄可能已經存在,需先確定清楚)

 

  2、network.host: 0.0.0.0

  修改Elasticsearch的配置,使其支持外網訪問。在瀏覽器中,訪問http://xxxx:9200/(xxxx是運行elasticsearch的服務器的ip地址)即可。否則這可以在本機使用。

 

二.解決啟動時報錯

(1)、在 root用戶下啟動時報錯

因為安全問題elasticsearch 不讓用root用戶直接運行,所以要創建新用戶。

具體操作如下:
  useradd testuser
  passwd testuser
再輸入兩次密碼(自定義)
  為用戶賦權限

  chown -R testuser:testuser /usr/local/elasticsearch

然后使用es用戶啟動  :su testuser

  cd  /usr/local/elasticsearch

啟動es命令:bin/elasticsearch

(2)、在testuser用戶下啟動時報錯

為用戶賦權限

  chown -R testuser:testuser /usr/local/elasticsearch

然后使用es用戶啟動  :su testuser

  cd  /usr/local/elasticsearch

啟動es命令:bin/elasticsearch

(3)、在testuser用戶下啟動時報錯

原因:Centos6不支持SecComp,而ES默認bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗后直接導致ES不能啟動。

詳見 :https://github.com/elastic/elasticsearch/issues/22899

解決方案:

在elasticsearch.yml中新增配置bootstrap.system_call_filter,設為false。

bootstrap.system_call_filter: false

 

(4)、在testuser用戶下啟動繼續報錯

  a、原因:無法創建本地文件問題,用戶最大可創建文件數太小,解決方案:切換到root用戶,編輯limits.conf配置文件, 添加類似如下內容:

    vi /etc/security/limits.conf

  然后添加如下內容: 注意*不要去掉了

    * soft nofile 65536

    * hard nofile 131072

  注:* 代表Linux所有用戶名稱(比如 hadoop)

  需要保存、退出、重新登錄才可生效。

  b、原因:最大虛擬內存太小,解決辦法切換到root用戶修改配置sysctl.conf:

   vi /etc/sysctl.conf 

  添加下面配置:

    vm.max_map_count=655360

  最后記得執行:

    sysctl -p

  然后,重新啟動elasticsearch,即可啟動成功。

 

三.測試

切換到testuser用戶執行:

看到這個界面證明已經成功了,可以用瀏覽器訪問ip:9200查看,會下載一個json文件打開如下:

 

至此Elasticsearch就安裝完成了,當然這只是一台機器,如果有需要還可以搭成集群.

 

三.ES插件安裝

1、安裝head

elasticsearch-head是一個界面化的集群操作和管理工具,可以對集群進行傻瓜式操作。你可以通過插件把它集成到es(首選方式),也可以安裝成一個獨立webapp。
es-head主要有三個方面的操作:
  a、顯示集群的拓撲,並且能夠執行索引和節點級別操作
  b、搜索接口能夠查詢集群中原始json或表格格式的檢索數據
  c、能夠快速訪問並顯示集群的狀態
有一個輸入窗口,允許任意調用RESTful API。這個接口包含幾個選項,可以組合在一起以產生有趣的結果; 
請求方法(get、put、post、delete),查詢json數據,節點和路徑
      支持JSON驗證器
      支持重復請求計時器
      支持使用javascript表達式變換結果
收集結果的能力隨着時間的推移(使用定時器),或比較的結果,能力圖表轉換后的結果在一個簡單的條形圖(包括時間序列)

  1), 直接安裝

./bin/plugin install mobz/elasticsearch-head

       2) ,zip包安裝

1. https://github.com/mobz/elasticsearch-head下載zip 解壓
2. 建立elasticsearch-2.4.0\plugins\head文件
3. 將解壓后的elasticsearch-head-master文件夾下的文件copy到head
4. 運行es

   安裝驗證: 

 2, 安裝其他插件

 
$ ${ES_HOME}/bin/plugin --install lukas-vlcek/bigdesk
# 安裝完成訪問:http://localhost:9200/_plugin/bigdesk/#nodes

$ ${ES_HOME}/bin/plugin -install royrusso/elasticsearch-HQ
# 安裝完成訪問:http://localhost:9200/_plugin/HQ/

$ ${ES_HOME}/bin/plugin -install lmenezes/elasticsearch-kopf
# 安裝完成訪問:http://localhost:9200/_plugin/kopf/#!/cluster

 


免責聲明!

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



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