HBase是一個分佈式的、面向列的開源數據庫,源於Google的一篇論文《BigTable:一個結構化數據的分佈式存儲系統》。HBase以表的形式存儲數據,表有行和列組成,列劃分爲若干個列族/列簇(column family)。欲瞭解HBase的官方資訊,請訪問[HBase官方網站](http://hbase.apache.org/)。 HBase的運行有三種模式:單機模式、僞分佈式模式、分佈式模式。 單機模式:在一臺計算機上安裝和使用HBase,不涉及數據的分佈式存儲;僞分佈式模式:在一臺計算機上模擬一個小的集羣;分佈式模式:使用多臺計算機實現物理意義上的分佈式存儲。這裏出於學習目的,只重點討論單機模式和僞分佈式模式。
java
本文運行環境是在Ubuntu-64位系統下,HBase版本爲hbase-1.1.2,這是目前已經發行的已經編譯好的穩定的版本,帶有src的文件是未編譯的版本,這裏只要下載bin版本hbase-1.1.2-bin.tar.gz就行了。hbase-1.1.2-bin.tar.gz.mds是用來校驗文件hbase-1.1.2-bin.tar.gz是否完整,通常不須要校驗,若是您想要校驗能夠參考Hadoop安裝教程 中對Hadoop的校驗。shell
1.解壓安裝包hbase-1.1.2-bin.tar.gz至路徑 /usr/local,命令以下:數據庫
sudo tar -zxf ~/下載/hbase-1.1.2-bin.tar.gz -C /usr/local
此處個人HBase在下載後所處的文件夾不是在下載目錄下,找到文件夾下載後所在的位置,將其複製到下載目錄下,可是因爲文件的權限是隻讀,因此沒法直接複製,打開文件的屬性,將其權限進行修改,而後粘貼到下載目錄下。apache
另外,在解壓後能夠經過圖形界面找到該文件的位置,此處所指的路徑/usr/local,對應圖形界面的文件夾是:其餘位置/計算機/usr/local。bash
2.將解壓的文件名hbase-1.1.2改成hbase,以方便使用,命令以下:jvm
sudo mv /usr/local/hbase-1.1.2 /usr/local/hbase
3.配置環境變量分佈式
將hbase下的bin目錄添加到path中,這樣,啓動hbase就無需到/usr/local/hbase目錄下,大大的方便了hbase的使用。下面的部分仍是切換到了/usr/local/hbase目錄操做,有助於理解運行過程。oop
編輯~/.bashrc文件學習
vi ~/.bashrc
若是沒有引入過PATH請在~/.bashrc文件尾行添加以下內容:測試
export PATH=$PATH:/usr/local/hbase/bin
編輯完成後,再執行source命令使上述配置在當前終端當即生效,命令以下:
source ~/.bashrc
4.添加HBase權限
cd /usr/local sudo chown -R hadoop ./hbase #將hbase下的全部文件的全部者改成hadoop,hadoop是當前用戶的用戶名。
chown -R hadoop:hadoop ./spark # hadoop是當前登陸Linux系統的用戶名,把當前目錄下的spark子目錄的全部權限,賦予給用戶hadoop
5.查看HBase版本,肯定hbase安裝成功,命令以下:
/usr/local/hbase/bin/hbase version
看到以上輸出消息表示HBase已經安裝成功,接下來將分別進行HBase單機模式和僞分佈式模式的配置。
HBase有三種運行模式,單機模式、僞分佈式模式、分佈式模式。做爲學習,重點討論單機模式和僞分佈式模式。
如下先決條件很重要,好比沒有配置JAVA_HOME環境變量,就會報錯。
(1)jdk
(2)Hadoop( 單機模式不須要,僞分佈式模式和分佈式模式須要)
(3)SSH
1.單機模式配置
(1)配置/usr/local/hbase/conf/hbase-env.sh 。配置JAVA環境變量,並添加配置HBASE_MANAGES_ZK爲true,用vi命令打開並編輯hbase-env.sh,命令以下:
vi /usr/local/hbase/conf/hbase-env.sh
配置JAVA環境變量,jdk的安裝目錄默認是 /usr/lib/jvm/java-1.7.0-openjdk, 則JAVA _HOME =/usr/lib/jvm/java-7-openjdk-amd64,其中java-1.7.0-openjdk是你的jdk版本;配置HBASE_MANAGES_ZK爲true,表示由hbase本身管理zookeeper,不須要單獨的zookeeper。hbase-env.sh中原本就存在這些變量的配置,只須要刪除前面的#並修改配置內容便可(#表明註釋):
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export HBASE_MANAGES_ZK=true
添加完成後保存退出便可。
(2)配置/usr/local/hbase/conf/hbase-site.xml
打開並編輯hbase-site.xml,命令以下:
vi /usr/local/hbase/conf/hbase-site.xml
在啓動HBase前須要設置屬性hbase.rootdir,用於指定HBase數據的存儲位置,由於若是不設置的話,hbase.rootdir默認爲/tmp/hbase-${user.name},這意味着每次重啓系統都會丟失數據。此處設置爲HBase安裝目錄下的hbase-tmp文件夾即(/usr/local/hbase/hbase-tmp),添加配置以下:
(3)接下來測試運行。首先切換目錄至HBase安裝目錄/usr/local/hbase;再啓動HBase。命令以下:
cd /usr/local/hbase bin/start-hbase.sh bin/hbase shell