es怎麼配置及應用
① 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節點的初始列表,可以通過這些節點來自動發現新加入集群的節點