二、ElasticSearch——常用命令及配置

1 ES端口說明及啓動和關閉
9200 對外服務的http 端口
9300 節點間通信的tcp端口
後臺運行ES的方式
./elasticsearch -d

關閉ES的2種方式
非後臺運行的:ctrl + c
後臺運行的:kill es進程

在windows中啓動方式
elasticsearch .bat

2 ES安裝目錄及配置
在這裏插入圖片描述
data是存放索引數據的目錄
jvm.options 配置可以修改內存分配(-Xms -Xmx)

3 ES 配置說明
1)配置文件分離
配置文件目錄默認爲:$ES_HOME/config,如果需要配置文件與軟件分離(方便升級),可以通過 ES_PATH_CONF 環境變量來指定配置文件的路徑。如你可以在命令行指定聲明:
在這裏插入圖片描述
也可以在命令行或環境變量文件中 export.

2)配置文件格式說明:兩種寫法
一種類似yml,一種類似propertis
編寫配置時可以引用環境變量的值,也可以通過啓動時的對話輸入prompt.secret{prompt.secret}表示密文,{prompt.text}表示明文
在這裏插入圖片描述

3)Jvm參數格式說明
-Xms2g:配置Xms=2g
8 jdk8
8- jdk8以上
8-9 jdk8到jdk9
在這裏插入圖片描述
4)ES 重要的配置參數

(1)數據目錄和日誌目錄,生成環境下應與軟件分離
在這裏插入圖片描述
(2)數據目錄可以有多個(一個索引數據只會放入一個目錄中)
在這裏插入圖片描述
(3)所屬的集羣名,默認爲 elasticsearch ,可自定義
在這裏插入圖片描述
(4)節點名,默認爲 UUID前7個字符,可自定義
在這裏插入圖片描述
可以以主機名作節點名
在這裏插入圖片描述
5)ES 重要的配置參數

(1) network.host IP綁定
默認綁定的是[“127.0.0.1”, “[::1]”]迴環地址,集羣下要服務間通信,需綁定一個ipv4或ipv6地址
在這裏插入圖片描述

(2) http.port: 9200-9300
對外服務的http 端口, 默認 9200-9300 。可以爲它指定一個值或一個區間,當爲區間時會取用區間第一個可用的端口。

(3)transport.tcp.port: 9300-9400
節點間交互的端口, 默認 9300-9400 。可以爲它指定一個值或一個區間,當爲區間時會取用區間第一個可用的端口。

  1. Discovery Config 節點發現配置
    ES中默認採用的節點發現方式是 zen(基於組播(多播)、單播)。在應用於生產前有兩個重要參數需配置:

(1) discovery.zen.ping.unicast.hosts: [“host1”,“host2:port”,“host3[portX-portY]”]
單播模式下,設置具有master資格的節點列表,新加入的節點向這個列表中的節點發送請求來加入集羣。(點對點)

(2) discovery.zen.minimum_master_nodes: 1(這個參數用來解決腦裂問題)
這個參數控制的是,一個節點需要看到具有master資格的節點的最小數量,然後才能在集羣中做操作。官方的推薦值是(N/2)+1,其中N是具有master資格的節點的數量。(需要嵌入一個路由器,根據路由器把節點列表組成一個組)
腦裂:主節點過於繁忙,沒有及時響應,從節點以爲主節點已經死亡,從而選舉了新的主節點而產生多個主節點的混亂問題

7)其他重要參數
(1)transport.tcp.compress: false 是否壓縮tcp傳輸的數據,默認false
(2)http.cors.enabled: true 是否使用http協議對外提供服務,默認true
(3)http.max_content_length: 100mb http傳輸內容的最大容量,默認100mb
(4)node.master: true 指定該節點是否可以作爲master節點,默認是true。ES集羣默認是以第一個節點爲master,如果該節點出故障就會重新選舉master。
(5)node.data: true 該節點是否存索引數據,默認true。
(6)discover.zen.ping.timeout: 3s 設置集羣中自動發現其他節點時ping連接超時時長,默認爲3秒。在網絡環境較差的情況下,增加這個值,會增加節點等待響應的時間,從一定程度上會減少誤判。
(7)discovery.zen.ping.multicast.enabled: false 是否啓用多播來發現節點。

8)Jvm heap 大小設置
生產環境中一定要在jvm.options中調大它的jvm內存。
在這裏插入圖片描述
9)JVM heap dump path 設置

生產環境中指定當發生OOM異常時,heap的dump path,好分析問題。在jvm.options中配置:
-XX:HeapDumpPath=/var/lib/elasticsearch

還有重要的操作系統配置,請參照:
https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章