[英]HDFS migrate datanodes servers to new servers
我想將包含所有數據和組件的hadoop服務器遷移到新服務器(紅帽的較新版本)。
我在cloudera網站上看到過有關如何移動名稱節點的帖子,但是我不知道如何移動所有數據節點而不會丟失數據。 我們有副本因子2。如果我一次關閉1個datanode,hdsfs會生成新副本嗎? 有沒有一種方法可以一次遷移所有數據節點? 將所有(約20個服務器)數據節點轉移到新集群的正確方法是什么?
我也想知道hbase是否會有同樣的問題,或者我是否可以刪除並在新服務器上添加角色
更新以澄清:
我的Hadoop集群已經包含了兩組服務器(它們在同一個hadoop集群中,在示例中我只是對其進行了邏輯拆分)
兩組都已經共享數據和組件(namenode在舊的服務器集中)。 我要刪除所有舊服務器集,以便僅新服務器集將保留在hadoop群集中。
執行是否應該像這樣:
因為如果這樣的話,平衡器操作會花費很多時間,而整個操作會花費很多時間。
對於hbase來說,同樣的問題,現在hbase區域和master只在舊服務器上,我想將其刪除並安裝在新服務器上而不會丟失數據。
謝謝
可以自由添加新的Datanode,而無需觸摸namenode。 但是,您絕對不應一次關閉多個設備。
例如,如果您選擇隨機關閉兩台服務器,並且兩台服務器都保存一個文件塊,那么它就不可能在其他地方復制。 因此,如果您要重復使用相同的硬件,則一次升級一個。
在理想情況下,您的OS磁盤與HDFS磁盤是分開的。 在這種情況下,您可以卸載它們,升級操作系統,重新安裝HDFS服務,重新安裝磁盤,然后一切將像以前一樣工作。 如果那不是您設置服務器的方式,則應在下一次升級之前進行。
為了將副本添加到任何新的數據節點中,您需要1)增加復制因子,或2)運行HDFS重新平衡器以確保副本在整個群集中都經過改組
我對Hbase不太熟悉,但是我知道您需要在安裝該服務並將其遷移到其他服務器之前刷新regionservers。 但是,如果您在不重新分配區域的情況下刷新了大部分數據,則將擁有一台可容納所有數據的服務器。 我相信主服務器也有類似的警告,盡管hbase backup
似乎是值得嘗試的命令。
@guylot-添加新節點並運行平衡器過程之后,請通過退役過程將舊節點從群集中移出。 停用過程會將數據移動到群集中的另一個節點。 為預防起見,一次只能在一個節點上運行。 這將限制發生丟失數據事件的可能性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.