當前位置:首頁 » 存儲配置 » es如何查看配置

es如何查看配置

發布時間: 2022-12-30 22:33:10

『壹』 Elasticsearch(3台master和3台data)配置文件詳解

Elasticsearch配置文件詳解

· elasticsearch

一、基本配置
elasticsearch的config文件夾裡面有兩個配置文 件:elasticsearch.yml和logging.yml,第一個是es的基本配置文件,第二個是日誌配置文件,es也是使用log4j來記錄日誌的,所以logging.yml里的設置按普通log4j配置文件來設置就行了。下面主要講解下elasticsearch.yml這個文件中可配置的東西。

二、高級配置(線程池) 一個Elasticsearch節點會有多個線程池,但重要的是下面四個:
索引(index):主要是索引數據和刪除數據操作(默認是cached類型)
搜索(search):主要是獲取,統計和搜索操作(默認是cached類型)
批量操作(bulk):主要是對索引的批量操作(默認是cached類型)
更新(refresh):主要是更新操作(默認是cached類型) 可以通過給設置一個參數來改變線程池的類型(type),例如,把索引的線程池改成blocking類型:
min: 1
size: 30
wait_time: 30s

下面是三種可以設置的線程池的類型:
cache
cache線程池是一個無限大小的線程池,如果有很多請求的話都會創建很多線程,下面是個例子:
threadpool:
index:
type: cached

fixed
fixed線程池保持固定個數的線程來處理請求隊列。
size參數設置線程的個數,默認設置是cpu核心數的5倍
queue_size可以控制待處理請求隊列的大小。默認是設置為-1,意味著無限制。當一個請求到來但隊列滿了的時候,reject_policy參數可以控制它的行為。默認是abort,會使那個請求失敗。設置成caller會使該請求在io線程中執行。
threadpool:
index:
type: fixed
size: 30
queue: 1000
reject_policy: caller

blocking
blocking線程池允許設置一個最小值(min,默認為1)和線程池大小(size,默認為cpu核心數的5倍)。它也有一個等待隊列,隊列的大小(queue_size )默認是1000,當這隊列滿了的時候。它會根據定好的等待時間(wait_time,默認是60秒)來調用io線程,如果超時沒有執行就會報錯。
threadpool:
index:
type: blocking
min: 1
size: 30
wait_time: 30s

筆者在實際工作中,由於程序啟動時即產生大量請求,導致隊列大小溢出的情況,從而查詢請求報錯,可以在以下2個解決方法權衡處理:
1、增加隊列長度,但隨之帶來的是CPU消耗高。
2、優化程序,適當控製程序的並發請求量。

三、操作系統配置
1、文件句柄限制:ES在索引過程中,尤其是有很多分片和副本時,會創建若干文件。因此操作系統對打開文件數量的限制不能少於32000。對於linux伺服器,通過可以在/etc/security/limits.conf中進行修改,並且可以用ulimit命令來查看當前值。
2、節點內存配置:ES每個節點默認的2014M內存空間可能是不夠的。如果日誌文件中有out of memory error錯誤,則應將環境變數ES_HEAP_SIZE設為大於1024的值。注意該值應超過總可用物理內存的50%,剩餘內存可用作磁碟高速緩存,可大大提高搜索性能。

ES初學中,歡迎一起學習交流!

參考:

https://blog.csdn.net/lu_wei_wei/article/details/51263153

https://blog.csdn.net/u013673976/article/details/73650889

https://blog.csdn.net/shudaqi2010/article/details/71711610

https://nickcanzoneri.com/elasticsearch-settings/

『貳』 配置Elasticsearch

Elasticsearch船隻具有良好的默認值,並且只需要很少的配置。可以在運行的集群上使用集群更新設置API更改大多數設置。
配置文件應該包含特定於節點的設置(例如node.name和路徑),或者節點為了能夠加入集群而需要的設置,例如 cluster.name 和 network.host 。

Elasticsearch有三個配置文件:

這些文件位於config目錄中,其默認位置取決於安裝是來自存檔分發版(tar.gz或zip)還是包分發版(Debian或RPM包)。
對於存檔發行版,config目錄位置默認為 $ES_HOME/config 。配置目錄的位置可以通過 ES_PATH_CONF 環境變數改變,如下所示:

或者,您可以通過命令行或shell配置文件導出ES_PATH_CONF環境變數。

對於包分發,配置目錄位置默認為 /etc/elasticsearch 。配置目錄的位置也可以通過 ES_PATH_CONF 環境變數更改,但是請注意,僅在shell中設置是不夠的。相反,這個變數來源於 /etc/default/elasticsearch (用於Debian包)和 /etc/sysconfig/elasticsearch (用於RPM包)。您需要相應地在其中一個文件中編輯 ES_PATH_CONF=/etc/elasticsearch 條目,以更改配置目錄的位置。

配置格式為YAML。下面是更改數據和日誌目錄路徑的示例:

設置也可以扁平化如下:

在YAML中,你可以將非標量值格式化為序列:

雖然不太常見,但你也可以將非標量值格式化為數組:

使用${…}符號將被替換為環境變數的值。例如:

環境變數的值必須是簡單字元串。使用逗號分隔的字元串來提供Elasticsearch將解析為列表的值。例如,Elasticsearch將以下字元串分割為 ${HOSTNAME} 環境變數的值列表

集群和節點設置可以根據配置方式進行分類:

您可以使用 集群更新設置API 在運行的集群上配置和更新動態設置。您還可以使用 elasticsearch.yml 在未啟動或關閉的節點上本地配置動態設置。

使用集群更新設置API進行的更新可以是持久的(跨集群重啟應用),也可以是短暫的(在集群重啟後重置)。您還可以通過使用API為臨時或持久設置賦值為空來重置它們。

如果您使用多個方法配置相同的設置,Elasticsearch將按照以下優先順序應用這些設置:

例如,您可以應用瞬變設置來覆蓋持久設置或 elasticsearch.yml 設置。然而,對 elasticsearch.yml 的更改,不會覆蓋已定義的瞬態或持久設置。

最好使用集群更新設置API設置動態的集群范圍設置,並使用 elasticsearch.yml 僅用於本地配置。使用集群更新設置API可以確保所有節點上的設置是相同的。如果您不小心在 elasticsearch.yml 中配置了不同的設置。在不同的節點上,很難注意到差異。

靜態設置只能在未啟動或關閉的節點上使用 elasticsearch.yml 進行配置。

必須在集群中的每個相關節點上設置靜態設置

Elasticsearch開始時只需要很少的配置,但是在生產環境中使用集群之前,有很多方面需要考慮:

Elasticsearch將創建索引的數據寫入索引,將數據流寫入數據目錄。Elasticsearch將自己的應用程序日誌(其中包含關於集群運行狀況和操作的信息)寫入日誌目錄

對於macOS .tar.gz、Linux .tar.gz和Windows .zip安裝,數據和日誌默認是 $ES_HOME 的子目錄。但是,在升級過程中, $ES_HOME 中的文件有被刪除的風險

In proction, we strongly recommend you set the path.data and path.logs in elasticsearch.yml to locations outside of $ES_HOME . Docker , Debian , RPM , macOS Homebrew , and Windows .msi installations write data and log to locations outside of $ES_HOME by default.

To avoid errors, only Elasticsearch should open files in the path.data directory. Exclude the path.data directory from other services that may open and lock its files, such as antivirus or backup programs.

Supported path.data and path.logs values vary by platform

只有當一個節點與集群中的所有其他節點共享 cluster.name 時,該節點才能加入集群。默認名稱是 elasticsearch ,但是您應該將其更改為描述集群用途的適當名稱。

不要在不同的環境中重用相同的集群名稱。否則,節點可能會加入錯誤的集群

Elasticsearch使用 node.name 作為Elasticsearch特定實例的人類可讀標識符。這個名稱包含在許多api的響應中。當Elasticsearch啟動時,節點名默認為機器的主機名,但是可以在 elasticsearch.yml 中顯式配置

預設情況下,Elasticsearch只綁定到 127.0.0.1 和 [::1] 等環回地址。這對於在單個伺服器上運行一個或多個節點的集群進行開發和測試已經足夠了,但是 彈性生產集群 必須包含其他伺服器上的節點。有許多 網路設置 ,但通常你只需要配置 network.host :

當你為 network.host 提供值時。Elasticsearch假定您正在從開發模式轉向生產模式,並將一些系統啟動檢查從警告升級到異常。看看 開發和生產模式 之間的區別。

在投入生產之前,配置兩個重要的發現和集群形成設置,以便集群中的節點能夠相互發現並選擇一個主節點。

Elasticsearch可以開箱即用,無需任何網路配置,它將綁定到可用的環回地址,並掃描本地埠 9300 到 9305 ,以便與運行在同一伺服器上的其他節點連接。這種行為提供了一種無需進行任何配置的自動集群體驗。

當您希望與其他主機上的節點形成集群時,使用 靜態 discovery.seed_hosts 設置. This setting provides a list of other nodes in the cluster that are master-eligible and likely to be live and contactable to seed the discovery process .
此設置接受集群中所有符合主節點的地址的YAML序列或數組。每個地址可以是一個IP地址,也可以是通過DNS解析為一個或多個IP地址的主機名。

當您第一次啟動Elasticsearch集群時, 集群引導 步驟將確定在第一次選舉中計票的符合主資格的節點集。在 開發模式 下,如果沒有配置發現設置,這個步驟將由節點自己自動執行。

因為自動引導 本身就不安全 ,,所以在生產模式下啟動新集群時,必須顯式列出符合主資格的節點,這些節點的投票應該在第一次選舉中計算。您可以使用集群設置此列表。 initial_master_nodes 設置。

在集群第一次成功形成之後,刪除每個節點配置中的 Initial_master_nodes 設置。在重新啟動集群或向現有集群添加新節點時,不要使用此設置。

通過節點的 node.name 標識初始主節點, 該節點默認為主節點的主機名。請確保 cluster.initial_master_nodes 值 與 node.name 完全匹配如果您使用完全限定的域名(FQDN),例如master-node-a.example.com作為您的節點名,那麼您必須在此列表中使用FQDN。相反,如果node.name是沒有任何尾隨限定符的裸主機名,您也必須省cluster.initial_master_nodes中的尾隨限定符如果您使用完全限定的域名(FQDN),例如 master-node-a.example.com 作為您的節點名, 那麼您必須在此列表中使用FQDN。相反,如果f node.name 是沒有任何尾隨限定符的裸主機名,您也必須省略 cluster.initial_master_nodes 中的尾隨限定符。

請參見 bootstrapping a cluster 以及 發現和集群形成設置 .

默認情況下,Elasticsearch會根據節點的 角色 和總內存自動設置JVM堆大小。對於大多數生產環境,我們建議使用默認大小。

自動堆大小需要 bundled JDK ,如果使用自定義JRE位置,則需要Java 14或更高版本的JRE。

如果需要,您可以通過手動 設置JVM堆大小 來覆蓋默認大小

默認情況下,Elasticsearch將JVM配置為將堆內存溢出異常轉儲到默認數據目錄。在RPM和Debian軟體包中,數據目錄是/var/lib/elasticsearch。在Linux、MacOS和Windows發行版上,數據目錄位於Elasticsearch安裝的根目錄下。

如果此路徑不適合接收堆轉儲,請修改 -XX:HeapDumpPath=… jvm.options

默認情況下,Elasticsearch啟用垃圾收集(GC)日誌。這些是在jvm中配置的 jvm.options 並輸出到與Elasticsearch日誌相同的默認位置。默認配置每64mb輪換一次日誌,最多可以消耗2gb的磁碟空間。

您可以使用 JEP 158: Unified JVM Logging 中描述的命令行選項重新配置JVM日誌。除非您更改了默認jvm。選項文件,Elasticsearch默認配置將應用於您自己的設置之外。要禁用默認配置,首先通過提供 -Xlog:disable 選項禁用日誌記錄,然後提供您自己的命令行選項。這將禁用所有JVM日誌記錄,因此一定要檢查可用選項並啟用所需的所有內容。

要查看原始JEP中未包含的其他選項,請參見使用 JVM統一日誌框架啟用日誌記錄 .

Change the default GC log output location to /opt/my-app/gc.log by creating $ES_HOME/config/jvm.options.d/gc.options with some sample options:

Configure an Elasticsearch Docker container to send GC debug logs to standard error ( stderr ). This lets the container orchestrator handle the output. If using the ES_JAVA_OPTS environment variable, specify:

默認情況下,Elasticsearch使用啟動腳本直接在系統臨時目錄下創建的私有臨時目錄。

在某些Linux發行版上,如果最近沒有訪問過/tmp中的文件和目錄,系統實用程序將清除它們。如果需要臨時目錄的特性長時間不使用,那麼在Elasticsearch運行時,這種行為會導致私有臨時目錄被刪除。如果隨後使用需要此目錄的特性,則刪除私有臨時目錄會導致問題。

如果您使用.deb或.rpm包安裝Elasticsearch,並在systemd下運行它,那麼Elasticsearch使用的私有臨時目錄將被排除在定期清理之外。

如果您打算在Linux或MacOS上長時間運行.tar.gz發行版,請考慮為Elasticsearch創建一個專用的臨時目錄,該目錄不在將舊文件和目錄清除的路徑下。這個目錄應該設置許可權,以便只有作為Elasticsearch運行的用戶才能訪問它。然後,在啟動Elasticsearch之前,設置$ES_TMPDIR環境變數指向這個目錄。

默認情況下,Elasticsearch將JVM配置為將致命錯誤日誌寫入默認日誌目錄。對於 RPM 和 Debian 軟體包, 這個目錄是 /var/log/elasticsearch . On Linux and MacOS and Windows 發行版, logs 目錄位於Elasticsearch安裝根目錄下。

這些日誌是JVM遇到致命錯誤(例如分段錯誤)時產生的。如果此路徑不適合接收日誌,請修改 -XX:ErrorFile=... 在 jvm.options 條目。

在災難中,快照可以防止數據永久丟失。快照生命周期管理是對集群進行定期備份的最簡單方法。有關更多信息,請參見備份集群。

在災難中, 快照 可以防止數據永久丟失. 快照生命周期管理 是對集群進行定期備份的最簡單方法. 有關更多信息, 請參見 備份集群 。

備份集群的唯一可靠和受支持的方法是使用快照。您不能通過復制Elasticsearch集群節點的數據目錄來備份該集群。不支持從文件系統級備份恢復任何數據的方法。如果試圖從這樣的備份恢復集群,可能會出現損壞、丟失文件或其他數據不一致的報告,或者看起來已經成功地悄無聲息地丟失了一些數據。

有些設置是敏感的,僅依靠文件系統許可權來保護它們的值是不夠的。對於這個用例,Elasticsearch提供了一個密鑰存儲庫和 elasticsearch -keystore 工具 來管理密鑰存儲庫中的設置。

只有重新啟動Elasticsearch後,對keystore的所有修改才會生效。

這些設置就像elasticsearch中的常規設置一樣。Yml配置文件,需要在集群中的每個節點上指定。目前,所有安全設置都是特定於節點的設置,在每個節點上必須具有相同的值。

Just like the settings values in elasticsearch.yml , 對密鑰存儲庫內容的更改不會自動應用到運行的Elasticsearch節點。重新讀取設置需要重新啟動節點。但是,某些安全設置被標記為 可重新載入 。. Such settings can be re-read and applied on a running node .

所有安全設置的值(無論是否可重新載入)必須在所有集群節點上相同。在進行所需的安全設置更改後,使用 bin/elasticsearch-keystore add 命令, call:

keystore-password : 用於加密Elasticsearch密鑰庫的密碼

此API在每個集群節點上解密並重新讀取整個密鑰存儲庫,但只應用可重新載入的安全設置。對其他設置的更改直到下次重啟才會生效。一旦調用返回,重新載入就完成了,這意味著依賴於這些設置的所有內部數據結構都已更改。所有的設置都應該從一開始就具有新值。

當更改多個可重新載入的安全設置時,在每個集群節點上修改所有安全設置,然後發出 reload_secure_settings 調用,而不是在每次修改後重新載入。

有可重新載入的安全設置:

『叄』 Es Cluster 配置詳解

elasticsearch.yml 服務配置文件

參數:

配置es的集群名稱,默認是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個集群,就可以用這個屬性來區分不同的集群。

設置默認索引分片個數,默認為5片。Since elasticsearch 5.x index level settings can NOT be set on the nodes configuration like the elasticsearch.yaml, in system properties or command line arguments.In order to upgrade all indices the settings must be updated via the /${index}/_settings API. Unless all settings are dynamic all indices must be closed

in order to apply the upgradeIndices created in the future should use index templates

to set default values.

Please ensure all required values are updated on all indices by executing:

curl -XPUT ' http://localhost:9200/_all/_settings?preserve_existing=true ' -d '{

"index.number_of_replicas" : "1",

"index.number_of_shards" : "7"

}'

設置默認索引副本個數,默認為1個副本。 5.X版本以上不支持在配置文件裡面配置。

節點名,默認隨機指定一個name列表中名字,該列表在es的jar包中config文件夾里name.txt文件中,其中有很多作者添加的有趣名字。

指定該節點是否有資格被選舉成為node,默認是true,es是默認集群中的第一台機器為master,如果這台機掛了就會重新選舉master。

指定該節點是否存儲索引數據,默認為trues

禁止自動創建索引

這個設置使刪除只限於特定名稱指向的數據,而不允許通過指定_all 或通配符來刪除指定索引庫。

設置配置文件的存儲路徑,默認是es根目錄下的config文件夾。

設置索引數據的存儲路徑,默認是es根目錄下的data文件夾,可以設置多個存儲路徑,用逗號隔開,例:
path.data:/path/to/data1,/path/to/data2

設置臨時文件的存儲路徑,默認是es根目錄下的work文件夾。

設置日誌文件的存儲路徑,默認是es根目錄下的logs文件夾

設置插件的存放路徑,默認是es根目錄下的plugins文件夾

設置為true來鎖住內存。因為當jvm開始swapping時es的效率會降低,所以要保證它不swap,可以把ES_MIN_MEM和ES_MAX_MEM兩個環境變數設置成同一個值,並且保證機器有足夠的內存分配給es。同時也要允許elasticsearch的進程可以鎖住內存,Linux下可以通過 ulimit-l unlimited 命令。

設置綁定的ip地址,可以是ipv4或ipv6的,默認為0.0.0.0。

設置其它節點和該節點交互的ip地址,如果不設置它會自動判斷,值必須是個真實的ip地址。

這個參數是用來同時設置bind_host和publish_host上面兩個參數。

設置節點間交互的tcp埠,默認是9300。

設置是否壓縮tcp傳輸時的數據,默認為false,不壓縮。

設置對外服務的http埠,默認為9200。

設置內容的最大容量,默認100mb

是否使用http協議對外提供服務,默認為true,開啟。

gateway的類型,默認為local即為本地文件系統,可以設置為本地文件系統,分布式文件系統,Hadoop的HDFS,和amazon的s3伺服器,其它文件系統的設置方法下次再詳細說。

設置這個集群中節點的數量,默認為2,一旦這N個節點啟動,就會立即進行數據恢復。

預期在群集中的主節點數。一旦預期的主節點數加入集群,就會開始恢復本地分片。默認為0

預期在群集中的數據節點數。一旦預期數量的節點已加入群集,就會啟動本地分片的恢復。默認為0

如果未達到預期的節點數,則恢復過程將等待配置的時間量,然後再嘗試恢復。
設置初始化數據恢復進程的超時時間,默認是5分鍾。

如果recover_after_time 持續時間超時,只要滿足以下條件,恢復就會開始:

設置集群中N個節點啟動時進行數據恢復,默認為1。意味著至少有一個節點,該集群才可用。
只要此許多數據或主節點已加入群集,即可恢復。

只要這么多主節點已加入群集,就可以恢復。

只要這么多數據節點已加入群集,就可以恢復。

初始化數據恢復時,並發恢復線程的個數,默認為4。

添加刪除節點或負載均衡時並發恢復線程的個數,默認為4。

設置數據恢復時限制的帶寬,如入100mb,默認為0,即無限制。

設置這個參數來限制從其它分片恢復數據時最大同時打開並發流的個數,默認為5。

設置這個參數來保證集群中的節點可以知道其它N個有master資格的節點。默認為1,對於大的集群來說,可以設置大一點的值(2-4)

設置集群中自動發現其它節點時ping連接超時時間,默認為3秒,對於比較差的網路環境可以高點的值來防止自動發現時出錯。

設置是否打開多播發現節點,默認是true。

設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點

『肆』 雷克薩斯es200大燈碼怎麼查看原廠

想要查詢車輛出廠配置信息,可以通過車架號就可以查詢到車輛的相關信息。可以咨詢廠家客服或根據車型年款通過廠家官網上的配置信息進行確認。
車架號,也俗稱VIN碼也就是車輛識別代碼。車輛識別代碼(VIN),VIN是英文Vehicle Identification Number(車輛識別碼)的縮寫。因為ASE標准規定:VIN碼由17位字元組成,所以俗稱十七位碼。正確解讀VIN碼,對於我們正確地識別車型,以致進行正確地診斷和維修都是十分重要的。

『伍』 神州數碼es450-28p如何進入配置

輸入config-terminal。
1、在神州數碼es450-28p交換機中輸入switch>enable,回車進入特權模式,然後輸入switch#config-terminal按回車鍵就進入全局配置模式。
2、hostname是設置交換機的主機名,enable-secret-xxx是設置特權加密口令,exit是返回命令。

『陸』 主機號是ES05175128,如何查具體配置

AMD AthlonX2 6850e
2G DDR2 667內存
320G硬碟

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:597
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:890
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:584
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:768
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:688
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1015
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:259
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:118
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:808
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:716