微吼云上線多路互動直播服務 加速多場景互動直播落地
1171
2025-03-31
集群安裝為安全版,則需要保證客戶端與服務端的時間一致
如果集群為安全版,需要進行kerberos認證,則需要服務端與客戶端的時間一致,時間一致需要注意時區之間的時差的轉換。如果時間不一致,會導致客戶端認證失敗,后續業務流程無法執行。
在應用程序結束之前調用Client的關閉函數
在應用程序結束時需要調用Client的close()方法。任務運行過程中不要頻繁創建和關閉Client。
使用批量請求,設置合理的數據條數
當前集群的最佳批量請求大小,可以從5MB開始測試,緩慢增加這個大小,直到寫入性能不能提升為止。
使用bulk命令進行批量索引數據時,每批次提交的數據大小為5~15MB。
比如每條數據大小為1k,那么建議批量提交的數據條數為5000條。
每個批量請求中只處理一個索引的數據
一個bulk請求只寫入一個索引的數據,不建議一個bulk請求同時寫入多個索引的數據,不同索引的數據分多個bulk請求提交。
使用多線程方式并發索引數據
比如32核的主機,可設置線程數為30~60個。應用程序使用多線程并發索引數據,推薦的并發線程數為主機CPU核數的1~2倍。
運行多個客戶端并發執行任務
運行多個客戶端并發執行索引/查詢任務,提升性能。
客戶端配置多個EsNode實例的IP和Port列表
建議所有的EsNode實例的IP和Port都配置在客戶端IP列表中。客戶端需要配置多個EsNode實例的IP和Port列表,實現負荷分擔和負載均衡,避免單EsNode性能瓶頸。
客戶端禁止配置EsMaster節點的IP和Port
EsMaster實例為重要的管理進程,為確保elasticsearch集群穩定性,不允許在客戶端的IP列表中配置EsMaster節點IP和Port。
分配足夠多的堆內存給EsMaster和EsNode實例
在FusionInsight Manager界面,單擊“集群 > 待操作集群的名稱 > 服務 > Elasticsearch > 配置 > 全部配置”,搜索框輸入“GC_OPTS”,修改“GC_OPTS”參數值中的“-Xms”和“-Xmx”的值。
設置Xmx不要大于物理內存的50%,用來確保有足夠多的物理內存預留給操作系統緩存。若機器內存的50% > 實例數*30G,設置為30G,否則設置為機器內存的50%/實例數。
不要設置Xmx超過JVM用來壓縮對象指針的cutoff(compressed oops),精確的cutoff可能不同,但接近于31G,因此最大設置為30G。
elasticsearch創建索引建議
為了減少索引數量并避免非常龐大的映射,請考慮將相同索引結構的數據存儲在相同的索引中。
避免將不相關的數據放在同一個索引中,以避免稀疏,將這些文件放在不同的索引中通常會更好。
合理規劃索引的Shard數
主分片個數一旦確定,就不可以更改。副本分片個數可以根據需要隨時修改。
每個分片都可以處理索引和查詢請求,在設定分片數目時,可從以下幾個方面考慮:
建議單個分片保存的數據量在10~20GB左右,最大不超過30GB。
根據索引預計承載的最大數據容量和單個分片容量確定主分片個數。
為了提升數據可靠性,合理設置副本分片個數,至少設置為1,如果集群的存儲空間足夠,推薦設置為2。
不要返回大的結果集。
不要返回大的結果集
Elasticsearch被設計為一個搜索引擎,這使得它非常擅長獲取與查詢匹配的最優文檔,但是不適合用來檢索與特定查詢匹配的所有文檔。Elasticsearch為了避免深分頁,不允許使用分頁(from&size)查詢10000條以后的數據,如果需要這樣做,請確保使用Scroll API。
安裝EsClient實例
EsClient實例用于接收查詢請求、查詢結果聚合,EsNodeX用于接收寫入請求、數據寫入,提升集群性能和穩定性。
對于讀寫業務量較大的Elasticsearch集群,建議安裝3~10個EsClient實例。
FusionInsight Elasticsearch EI企業智能
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。