有人說過“讓Hadoop開發像家庭作業一樣簡單”,容器技術的出現讓這成為可能,可以用Docker封裝HBase運行環境,通過統一的接口來運行。本文將介紹如何在十分鐘內跑起你的HBase應用。

首先,我們需要安裝HBase集群來開發和測試,下載HBase源碼運行單機版固然可以,前提是你已經安裝配置好Java和Maven環境,或者你可以運行命令docker run -d --net=host tobegit3hub/standalone-hbase-0.94。

這個命令會下載名為standalone-hbase-0.94的Docker鏡像,以Daemon形式運行。具體它做了什么呢?可以查看它的Dockerfile,原來就是安裝Java7、下載HBase源碼、然后編譯和運行單機版HBase。如果鏡像已經下載,只需幾秒鐘就可以創建干凈的HBase開發環境了。

然后,我們可以編寫HBase應用了,我已經開發了一個smoke-hbase的程序,它會在本地的HBase集群創建表、插入數據、讀數據、刪除數據和刪除表。怎么運行呢?也是一行命令docker run -i -t --net=host tobegit3hub/smoke-hbase

運行結果如下,不管你在什么系統執行,Docker可以保證運行結果是Repeatable和Predictable的。

 

不管你對Docker是否感冒,強烈建議運行上面兩條命令,你只需安裝Docker就可以了。Ubuntu通過apt-get install docker.io安裝,CentOS可以執行yum install docker,Mac用戶只要下載boot2docker即可。

最后還有一個問題,如何修改應用的代碼?一種方式是直接進入Docker容器修改,這樣就只能在tty(命令行)操作了,另一種方式是使用Docker的volume特性。例如執行docker run -i -t --net=host --privileged -v /:/host tobegit3hub/jde,這會創建一個安裝好Java7和Maven的開發環境,你使用IDE修改完代碼后,Docker容器能直接讀本地文件系統的代碼,然后在容器內運行你的應用就可以了。