index 跨集群遷移 寫入效能優化

2022-09-10 18:45:13 字數 1808 閱讀 8946

檢視參考文件:

新增需要遷移的es集群白名單到 目的 es配置檔案elasticsearch.yml

reindex.remote.whitelist: "otherhost:9200, another:9200, 127.0.10.*:9200, localhost:*"

kibana 開發工具介面使用_reindex,重新建立索引。或者用curl命令都行

#kibana 介面執行,資料量過大,下面的配置

post _reindex?wait_for_completion=false

#使用curl 命令

, "index": "my-index-000001",

"size": 10,

"socket_timeout": "1m",

"connect_timeout": "10s",

"query": }},

"dest":

}

size 10 #從遠端伺服器重新索引使用預設最大大小為 100mb 的堆上緩衝區。如果遠端索引包含非常大的文件,您將需要使用較小的批量大小。下面的示例將批量大小設定10 為非常非常小。

"socket_timeout": "1m",

"connect_timeout": "10s"

還可以使用socket_timeout欄位設定遠端連線上的套接字讀取超時,以及使用字段設定連線超時 connect_timeout。兩者都預設為 30 秒。此示例將套接字讀取超時設定為一分鐘,將連線超時設定為 10 秒:

get _tasks/task_id 根據執行後返回的task_id 查詢 reindex 執**況。

reindex 提公升效率:

reindex支援sliced scroll以並行化重建索引過程。 這種並行化可以提高效率,並提供一種方便的方法將請求分解為更小的部分。

sliced原理(from medcl)

1)用過scroll介面吧,很慢?如果你資料量很大,用scroll遍歷資料那確實是接受不了,現在scroll介面可以併發來進行資料遍歷了。

2)每個scroll請求,可以分成多個slice請求,可以理解為切片,各slice獨立並行,利用scroll重建或者遍歷要快很多倍。

直接複製es設定的path.data後面的目錄 到目標es

增加refresh間隔

預設的refresh間隔是1s,用index.refresh_interval引數可以設定,這樣會其強迫es每秒中都將記憶體中的資料寫入磁碟中,建立乙個新的segment file。正是這個間隔,讓我們每次寫入資料後,1s以後才能看到。但是如果我們將這個間隔調大,比如30s,可以接受寫入的資料30s後才看到,那麼我們就可以獲取更大的寫入吞吐量,因為30s內都是寫記憶體的,每隔30s才會建立乙個segment file。

index buffer

如果我們要進行非常重的高併發寫入操作,那麼最好將index buffer調大一些,indices.memory.index_buffer_size,這個可以調節大一些,設定的這個index buffer大小,是所有的shard公用的,但是如果除以shard數量以後,算出來平均每個shard可以使用的記憶體大小,一般建議,但是對於每個shard來說,最多給512mb,因為再大效能就沒什麼提公升了。es會將這個設定作為每個shard共享的index buffer,那些特別活躍的shard會更多的使用這個buffer。預設這個引數的值是10%,也就是jvm heap的10%,如果我們給jvm heap分配10gb記憶體,那麼這個index buffer就有1gb,對於兩個shard共享來說,是足夠的了。

Hive跨集群遷移

hive跨集群遷移資料工作是會出現的事情,其中涉及到資料遷移,metastore遷移,hive版本公升級等。1.遷移hdfs資料至新集群 hadoop distcp skipcrccheck update hdfs hdfs skipcrccheck 因本次遷移涉及低版本遷移高版本,如果hadoop...

hbase跨集群遷移(兩集群網路不通)

這兩天公司集群需遷移到華為fi大資料平台,hive,hbase,指令碼等遷移就開始採坑了。先是檢視資料hbase遷移大致有幾種方案 1 distcp 2 copytabl e3 export and import 4 copytolocal and copyfromlocal 由於遷移是從cdh開源...

es資料跨集群遷移(HDSF方法)

es 備份儲存方式支援以下幾種方式 fs 檔案掛載 url 網路協議儲存 http,https,ftp s3 亞馬遜 hdfs azure 微軟 gcs 谷歌 本篇文章採用hdfs方式儲存 1.repository 倉庫 es集群中,想要備份資料,必須建立倉庫,用來儲存快照,乙個集群可以建立多個倉庫...