天天看點

HBase的安裝與部署

先部署分布式的高可用版的hadoop,即zookeeper+hadoop。

* 部署的伺服器名和目錄的規劃跟連結中的設定一樣。即

zookeeper、hadoop、hbase的檔案夾都放在/home/目錄下。

* 雖然hbase内置了zookeeper,但一般是關閉内置版,使用獨立部署版(因為還有其它程序需要用到zookeeper,以免維護2套)。

* 以下步驟每台機都要執行

1.下載下傳

​​http://hbase.apache.org/downloads.html​​

下載下傳bin檔案,例如hbase-2.4.6-bin.tar

2.上傳到伺服器并解壓

(1) 上面已提及,hbase檔案夾放在home目錄,就是/home/hbase

(2) 重命名(潔癖+強迫症)

3.配置環境變量

在裡面加入以下内容:

更新環境變量

* 先在c1機執行操作,再用scp把配置檔案同步到其它機。

1.配置hbase-env.sh

添加或反注釋後添加以下内容:

2.配置hbase-site.xml

3.配置regionservers

添加以下内容,如果原來有localhost,先删除。

這裡是對應hosts檔案的配置,前面已經提及過。

4.複制配置檔案到其它節點

1.在主節點機

2.在備用節點機

需要手動啟動,否則zookeeper隻會啟動1個。當然,也可以選擇不啟動。

hbase.rootdir

這個目錄是 regionserver 的共享目錄,用來持久化 hbase。特别注意的是 hbase.rootdir 裡面的 hdfs 位址是要跟 hadoop 的 core-site.xml 裡面的 fs.defaultfs 的 hdfs 的 ip 位址或者域名、端口必須一緻。(ha環境下,dfs.nameservices  是由zookeeper來決定的)

hbase.cluster.distributed

hbase 的運作模式。為 false 表示單機模式,為 true 表示分布式模式。若為 false,hbase 和 zookeeper 會運作在同一個 jvm 中

hbase.master

如果隻設定單個 hmaster,那麼 hbase.master 屬性參數需要設定為 master:60000 (主機名:60000)

如果要設定多個 hmaster,那麼我們隻需要提供端口 60000,因為選擇真正的 master 的事情會有 zookeeper 去處理

hbase.tmp.dir

本地檔案系統的臨時檔案夾。可以修改到一個更為持久的目錄上。(/tmp會在重新開機時清除)

hbase.zookeeper.quorum

對于 zookeeper 的配置。至少要在 hbase.zookeeper.quorum 參數中列出全部的 zookeeper 的主機,用逗号隔開。該屬性值的預設值為 localhost,這個值顯然不能用于分布式應用中。

hbase.zookeeper.property.datadir

這個參數使用者設定 zookeeper 快照的存儲位置,預設值為 /tmp,顯然在重新開機的時候會清空。因為筆者的 zookeeper 是獨立安裝的,是以這裡路徑是指向了 $zookeeper_home/conf/zoo.cfg 中 datadir 所設定的位置。

hbase.zookeeper.property.clientport

表示用戶端連接配接 zookeeper 的端口。

zookeeper.session.timeout

zookeeper 會話逾時。hbase 把這個值傳遞改 zk 叢集,向它推薦一個會話的最大逾時時間

hbase.regionserver.restart.on.zk.expire

當 regionserver 遇到 zookeeper session expired , regionserver 将選擇 restart 而不是 abort。