hbase是執行在hadoop上的資料庫,和其他資料庫一樣,它也要同時開啟很多個檔案。linux對於乙個程序可開啟檔案描述符的個數有所限制。預設的限制是每個程序可開啟1024個檔案。為了使hbase能夠順暢執行,你需要調高啟動hbase的那個使用者允許開啟的檔案描述符的最大個數。在本書中,就是hadoop使用者。
你還要調高hadoop的nproc設定。nproc設定指定了使用者可以同時啟動的最大程序數量。如果nproc過低,就會遇到outofmemoryerror這種錯誤。
本節將描述如何顯示和更改這些核心引數。
請確保你在所有伺服器上都有root許可權。
你需要對集群中的所有伺服器進行如下的核心引數設定修改。
1.以hadoop使用者的身份登入並執行以下命令,以確認可開啟檔案數的當前限制。
hadoop$ ulimit -n
1024
2.使用-u選項的ulimit命令來檢視最大程序數的當前設定。
hadoop$ ulimit -u
unlimited
3.以root使用者身份進行登入並調高可開啟檔案數和nproc的限制。在limits.conf檔案中新增下列設定。
root# vi /etc/security/limits.conf
hadoop soft nofile 65535
hadoop hard nofile 65535
hadoop soft nproc 32000
hadoop hard nproc 32000
4.為使上述修改生效,使用如下命令在/etc/pam.d/common-session檔案中增加一行內容。
root# echo "session required pam_limits.so" >> /etc/pam.d/common-session
5.登出登入,再以hadoop使用者的身份重新進行登入,然後再次確認這些設定的當前值,你應該能夠看到前面的修改已經生效了。
hadoop$ ulimit -n
65535
hadoop$ ulimit -u
32000
上述的核心引數修改將hadoop使用者的可開啟檔案數限制調高到了65535,同時將hadoop使用者的最大程序數限制調高到了32000。經過這種核心引數的修改,hbase就可以同時開啟足夠多的檔案,因此也就可以順暢執行了。
1.6.4 參考章節
第8章「基本效能調整」
《HBase管理指南》一1 1 簡介
本章將介紹hbase集群的安裝方法,首先將介紹基本的單機執行模式的hbase例項的安裝方法,然後介紹如何在amazon ec2上安裝完全分布式執行的高可靠性hbase集群。根據apache hbase主頁上的定義 hbase是hadoop上的資料庫。它適合在需要對大資料進行隨機且實時讀寫的情況下使用...
《HBase權威指南》一導讀
hbase權威指南 你閱讀本書的理由可能有很多。可能是因為聽說了hadoop,並了解到它能夠在合理的時間範圍內處理pb級的資料,在研讀hadoop的過程中發現了乙個處理隨機讀寫的系統,它叫做hbase。或者將其稱為目前流行的一種新的資料儲存架構,傳統資料庫解決大資料問題時成本更高,更適合的技術範圍是...
《HBase權威指南》一3 1 概述
hbase的主要客戶端介面是由org.apache.hadoop.hbase.client包中的htable類提供的,通過這個類,使用者可以完成向hbase儲存和檢索資料,以及刪除無效資料之類的操作。在介紹這個類的各個方法之前,讓我們先了解一下它的大體功能。通常,在正常負載和常規操作下,客戶端讀操作...