Elasticsearch開發(fā)運(yùn)維實(shí)戰(zhàn)核心Tips都有哪些,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、安塞網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1、集群規(guī)劃層面
- 注意評(píng)估節(jié)點(diǎn)的硬盤空間。
- 結(jié)合esrally等第三方工具評(píng)估集群資源的寫入、檢索的吞吐率等指標(biāo)。
2、數(shù)據(jù)預(yù)處理層面
- 數(shù)據(jù)進(jìn) Elasticsearch 前要做清洗。
- Elasticsearch 擅長的是檢索和不復(fù)雜的聚合,其他活給關(guān)系型數(shù)據(jù)庫或者第三方大數(shù)據(jù)開源庫如:clickhouse 等。
3、數(shù)據(jù)建模層面
- 比起嚴(yán)格模式,我更喜歡動(dòng)態(tài)mapping,通過字段名字的前綴映射類型,自從用了這套規(guī)則,字段沖突導(dǎo)致的kibana無法作報(bào)表的問題一掃而光啊,真的是不要太香了 。
- 是否需要打分,是否需要排序、聚合、過濾,如果不需要?jiǎng)t(doc_values(dvm、dvd) norm(nvd、nvm))屬性需要關(guān)閉等等。
- 模板 template 比 mapping 更靈活,推薦結(jié)合別名多使用動(dòng)態(tài)模板,尤其數(shù)據(jù)量每日增量巨大的業(yè)務(wù)場(chǎng)景。
- 字段非常明確固定、且未來不會(huì)新增字段,考慮mapping創(chuàng)建時(shí)設(shè)置:"dynamic": "strict", 以嚴(yán)格控制Mapping泛濫。
- 結(jié)合業(yè)務(wù)選擇分詞器甚至自定義分詞器。
4、檢索層面
- 如果需要考慮查詢速度的優(yōu)化,且排序字段基本固定,則可以考慮把 indexSort 配上,查詢時(shí)會(huì)提前中斷。
indexSort能通過預(yù)排序有效避免全局掃描,提前中斷查詢,提升查詢性能,對(duì)于查詢時(shí)按照某列排序(注意不適合相關(guān)性排序)的場(chǎng)景非常適合。
- 查詢根據(jù)業(yè)務(wù)實(shí)際考慮,建議最好把 Wildcard 模糊查詢、*.*等會(huì)導(dǎo)致數(shù)據(jù)量大的查詢做限制。
- 限制limit +offset,限制query_string等文本查詢的長度,限制term長度,隨時(shí)關(guān)注慢查詢?nèi)罩尽s是很強(qiáng)大,但是取決你怎么使用,你永遠(yuǎn)不知道會(huì)怎么調(diào)你的接口…
5、硬件資源層面
5.1 磁盤層面
- 磁盤大小是否充足,壓縮格式使用默認(rèn)speed Compression? 還是 Best Compression?
5.2 內(nèi)存層面
- 采用默認(rèn)NIOFS 還是MMAP,采用MMAP哪些需要預(yù)緩存到堆外。
6、集群管理層面
- 記得配置延時(shí)分片 index.unassigned.node_left.delayed_timeout。
- refresh、flush時(shí)間根據(jù)的實(shí)際業(yè)務(wù)需求調(diào)整。
- 對(duì)集群的性能監(jiān)控越全面越好, 及時(shí)發(fā)現(xiàn)慢查詢,盡可能全面的根據(jù)業(yè)務(wù)評(píng)估使用量, 并能在瓶頸期發(fā)現(xiàn)和升級(jí)配置。
- 多節(jié)點(diǎn)集群,合理劃分節(jié)點(diǎn)角色,尤其要分離:主節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)、協(xié)調(diào)節(jié)點(diǎn)。
7、安全及災(zāi)備層面
- 定期或者增量備份比無備份重要(條件允許的情況下)。
- 安全問題是必須的,我們是在日志清晰的時(shí)候做的核心字段加密,elk 整個(gè)技術(shù)棧都只允許內(nèi)網(wǎng)訪問,對(duì)外的服務(wù)接口也是要軟 token 的。
- 將 ES 提供給業(yè)務(wù)研發(fā)去使用,更多的是需要考慮控制權(quán)限,降低門檻,最好是封裝一層網(wǎng)管提供給業(yè)務(wù)研發(fā)使用,然后再去多分享培訓(xùn),提高業(yè)務(wù)側(cè)研發(fā)對(duì)ES的認(rèn)知。
8、性能優(yōu)化層面
- 如果數(shù)據(jù)量大,盡可能使用bulk 批量操作。
(1)寫入層面bulk操作,包含但不限于:bulk API 執(zhí)行批量寫入、更新、刪除多文檔操作。
(2)檢索層面bulk操作,包含但不限于:Multi Get(mget), Scorll, MultiSearch。
- 建議根據(jù)業(yè)務(wù)需求較早的設(shè)置開啟慢查詢?nèi)罩尽?/section>
- 使用script 腳本時(shí),要考慮可能帶來的慢、安全風(fēng)險(xiǎn)(早期版本)等負(fù)面影響。
- 在一定條件下,執(zhí)行強(qiáng)制合并segment,查詢速度會(huì)提升很多。
看完上述內(nèi)容,你們掌握Elasticsearch開發(fā)運(yùn)維實(shí)戰(zhàn)核心Tips都有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站欄目:Elasticsearch開發(fā)運(yùn)維實(shí)戰(zhàn)核心Tips都有哪些
文章出自:http://chinadenli.net/article20/gsgjco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、響應(yīng)式網(wǎng)站、外貿(mào)建站、手機(jī)網(wǎng)站建設(shè)、App設(shè)計(jì)、
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)