ElasticSearch的安裝


 

1、解壓

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

 

 

2、設置

(1)config/elasticsearch.yml

默認為127.0.0.1,只能在本地訪問ES服務器。

需要將ip改為實際IP或者0.0.0.0,這樣外部(其它機器)也能訪問ES服務器。

ES使用的端口默認是9200,也可以修改為其它的。

 

 

需要配置集群的初始節點:只有一個節點,也算是集群。

數組中寫節點名,節點名默認是node-1,集群時要改節點名:

一般是node-1,node-2,node-n來命名。

 

如果不配置集群的初始節點,會報錯:未配置集群的初始節點,集群的初始節點至少為1個

 

 

 

(2)在防火牆中開放對應的端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent

firewall-cmd --reload

 

 

 

(3)config/jvm.options

ES依賴JDK,自帶了JDK,在解壓目錄下有一個jdk目錄,自帶的jdk往往是最新版本的jdk。

因為ES處理的數據量級很大,默認設置的JVM占用的內存也就很大(默認1g),我們的機器|虛擬機往往提供不了指定大小的內存,我們可以改小一點

最大堆內存、最小堆內存的值要相同。

如不設置,往往會報錯:內初不夠、空間不足。

 

 

 

(4)修改可打開的文件描述符數量

ES本身很吃資源,要求能打開的文件描述符數量至少是65536,而Linux默認一個登錄的用戶可打開的文件描述符數量是4096,需要改一下。

需要先切換到root用戶,因為我們要修改的文件默認是只讀的,需要root的權限。

vim /etc/security/limits.conf

加上2行:

* soft nofile 65536
* hard nofile 65536

*表示Linux的所有用戶,也可以換為:要用來啟動ES的用戶(不能用root來啟動)。

 

#End of file 官方不是寫着玩的,文件至此結束,后面的內容不識別(無效),我們添加的配置要放在這個注釋的前面。

 

查看此配置是否成功:先切換到要啟動ES的用戶

 ulimit -Hn

如果是65536就說明配置成功。

 

若未配置此項,會報錯:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

 

 

 

(5)修改vm.max_map_count

默認為65530,ES要求至少為262144

sysctl -w vm.max_map_count=262144

此句命令需要root權限,可以先切換到root,或者以sudo執行

 

若未配置此項,會報錯:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

 

 

 

(6)權限配置

ES不能用root賬戶啟動,如果使用root賬號啟動ES,會報錯:can not run elasticsearch as root

需要使用非root賬戶啟動,如果沒有其他賬號,可以添加一個:

useradd 用戶名
passwd 密碼

 

啟動ES的賬號需要有解壓目錄的操作權限,所以需要配置一下解壓目錄的用戶權限:先切換到root(解壓目錄的屬主)

chmod 777 -R elasticsearch-7.6.2  #解壓目錄的路徑要換為自己的,可以是相對路徑,也可以是絕對路徑

若不配置解壓目錄的權限,會報錯:AccessDeniedException   沒有相關權限

 

 

 

 

3、啟動

切換到解壓目錄下,運行bin目錄下的elasticsearch即可啟動ES服務器

./bin/elasticsearch   #這樣啟動,當前標簽頁會用不了,需要重啟一個標簽頁來執行命令。可以在后面加上 -d  以守護線程的方式啟動

 es很吃資源,啟動很慢。

 

新起一個標簽頁,執行

curl 127.0.0.1:9200

也可以在瀏覽器中輸入ip:port進行驗證。如果看到以下內容,說明ES啟動成功:

 

 

127.0.0.1:9200/_cat,_cat目錄是ES自帶的一些功能:

常用的有

  • master  查看master節點的信息
  • nodes  查看所有節點的信息,比如ip、堆使用情況、內存使用情況、cpu使用情況等。如果不知道這些列表示什么,nodes?v,加一個v會顯示列名。
  • health  查看各節點的運行狀況,green表示該節點正常運行(健康)

 

 

 

4、停止

ps -ef|grep elasticsearch 

第一列數字是pid, kill 相關的pid,結束進程。會顯示一大堆,只kill第一個就ok。

 


免責聲明!

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



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