hadoop hdfs访问权限更新延迟问题
最近我遇到過一次solr的文件權限問題,導致索引崩潰。同事也遇到一次FS的類似現象問題。多次經歷發現hadoop目前對目錄的權限管理有同步問題。
正常情況下,以某個用戶啟動,則目錄權限會變成該用戶。至于用戶所在的組,可以直接忽略,沒有看到用處。但是有時候會出現這樣的情形。明明運行程序是超級用戶,也就是缺省使用hdfs用戶(如果有設置缺省),但是可以訪問solr, 權限的目錄,而且一直穩定運行。
?
但是某一天,也許你忽然想改變一些配置。重啟了一些應用。也許就忽然它就權限變更了。除非你用正確的用戶啟動,并修正權限所帶來的問題,否則就不能訪問。經歷過兩次,一次是cloudear solr(solrcloud)的問題。另外一次是hdfs的一個擴展應用程序,文件系統時遇到。都是開始能用,在進行目錄清理,或者是配置變更,重啟某些應用后忽然就不能用了。象是延遲發作的地雷。延時爆炸的雷。
?
仔細想了一下hadoop整個兒的機制,hdfs系統的機制,還有linux文件系統管理機制。 最后想,可能是這個原因。?
?
hdfs 文件系統,主要是nameserver, 它在管理權限時并不會立即生效,除非你手機用chmod改權限。它有一個更新數據的觸發條件。在此之前,所有文件都是可以跨權限訪問的。而且它也允許這么 做。這是因為避免過快的同步,提高文件系統的管理效率。也減少了同步造成的一系列問題。嚴格的說,它的權限同步是“人為手工”觸發的。除非你明確的說,我需要僅限變更,否則它不更新。
?
這樣以來,所有已啟動的進程,所有namenode里已經在活動狀態的文件,都可以跨權限訪問了。 但是在偶爾的情況下,它會觸發權限同步,造成后來的應用忽然就不能訪問,顯示為目錄無權限。
?
此時需要手工更新所有的目錄權限,建議同時重新啟動所有服務節點,所有相關應用。
轉載于:https://blog.51cto.com/wisyou/1626406
總結
以上是生活随笔為你收集整理的hadoop hdfs访问权限更新延迟问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux-telnet服务配置
- 下一篇: 监控软件nagios之安装