您好,登錄后才能下訂單哦!
最近我遇到過一次solr的文件權(quán)限問題,導(dǎo)致索引崩潰。同事也遇到一次FS的類似現(xiàn)象問題。多次經(jīng)歷發(fā)現(xiàn)hadoop目前對目錄的權(quán)限管理有同步問題。
正常情況下,以某個用戶啟動,則目錄權(quán)限會變成該用戶。至于用戶所在的組,可以直接忽略,沒有看到用處。但是有時候會出現(xiàn)這樣的情形。明明運行程序是超級用戶,也就是缺省使用hdfs用戶(如果有設(shè)置缺省),但是可以訪問solr, 權(quán)限的目錄,而且一直穩(wěn)定運行。
但是某一天,也許你忽然想改變一些配置。重啟了一些應(yīng)用。也許就忽然它就權(quán)限變更了。除非你用正確的用戶啟動,并修正權(quán)限所帶來的問題,否則就不能訪問。經(jīng)歷過兩次,一次是cloudear solr(solrcloud)的問題。另外一次是hdfs的一個擴(kuò)展應(yīng)用程序,文件系統(tǒng)時遇到。都是開始能用,在進(jìn)行目錄清理,或者是配置變更,重啟某些應(yīng)用后忽然就不能用了。象是延遲發(fā)作的地雷。延時爆炸的雷。
仔細(xì)想了一下hadoop整個兒的機(jī)制,hdfs系統(tǒng)的機(jī)制,還有l(wèi)inux文件系統(tǒng)管理機(jī)制。 最后想,可能是這個原因。
hdfs 文件系統(tǒng),主要是nameserver, 它在管理權(quán)限時并不會立即生效,除非你手機(jī)用chmod改權(quán)限。它有一個更新數(shù)據(jù)的觸發(fā)條件。在此之前,所有文件都是可以跨權(quán)限訪問的。而且它也允許這么 做。這是因為避免過快的同步,提高文件系統(tǒng)的管理效率。也減少了同步造成的一系列問題。嚴(yán)格的說,它的權(quán)限同步是“人為手工”觸發(fā)的。除非你明確的說,我需要僅限變更,否則它不更新。
這樣以來,所有已啟動的進(jìn)程,所有namenode里已經(jīng)在活動狀態(tài)的文件,都可以跨權(quán)限訪問了。 但是在偶爾的情況下,它會觸發(fā)權(quán)限同步,造成后來的應(yīng)用忽然就不能訪問,顯示為目錄無權(quán)限。
此時需要手工更新所有的目錄權(quán)限,建議同時重新啟動所有服務(wù)節(jié)點,所有相關(guān)應(yīng)用。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。