HBase 0.98 分布式集群安装详解
概述
HBase是一個分布式的、面向列的開源數據庫,該技術來源于 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化數據的分布式存儲系統”。就像Bigtable利用了Google文件系統(File System)所提供的分布式數據存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同于一般的關系數據庫,它是一個適合于非結構化數據存儲的數據庫。另一個不同的是HBase基于列的而不是基于行的模式。
前言
這篇博客應該很早就發表了,只是當時環境搭建好了之后沒有及時做筆記,后來又不想重新搭建,所以才拖到今天。還有就是這篇博客安裝的是 Hbase-0.98 的版本,與之前說要安裝 0.96 的說明不吻合,這里統一說明,之前的博客就不更改了。還有一點就是,本文的安裝過程很順,沒有出現什么啟動不了,或是運行異常的行為。如果你在安裝的過程出現了一些不好的事情,那么你可能會在本文中找到一些蛛絲馬跡,也可能一無所獲。只是我希望你可以理解到,本文并非胡編亂鄒。
版權說明
著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
本文作者:Q-WHai
發表日期: 2016年6月8日
本文鏈接:https://qwhai.blog.csdn.net/article/details/51607646
來源:CSDN
更多內容:分類 >> 大數據之 Hadoop
環境說明
| 1 | 172.16.2.117 | master |
| 2 | 172.16.2.115 | slave1 |
| 3 | 172.16.2.116 | slave2 |
HBase 環境搭建
下載
$ tar -zxvf hbase-0.98.18-hadoop2-bin.tar.gz $ mv hbase-0.98.18-hadoop2-bin ~/hbase配置環境變量
$ sudo vim /etc/profile export HBASE_HOME=/home/hadoop/hbase export PATH=$PATH:${HBASE_HOME}/bin $ source /etc/profile同步集群時間
查看各臺機器的時間
$ date如果時間是一致的,下面的這一步就不用進行了。如果時間不一致可通過下面的步驟將時間統一。
$ sudo ntpdate cn.pool.ntp.org若沒有安裝ntpdate;先安裝ntpdate工具。機器之間的時間如果不統一,后果就是 HMaster 進程起不起來(未測試過)。
修改配置文件
這里主要需要修改的文件有如下幾個
| 1 | hbase-env.sh | ${HBASE_HOME}/conf/ |
| 2 | hbase-site.xml | ${HBASE_HOME}/conf/ |
| 3 | regionservers | ${HBASE_HOME}/conf/ |
hbase-env.sh
添加如下內容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_92 export HBASE_CLASSPATH=/home/hadoop/hadoop/etc/hadoop export HBASE_OPTS="-XX:+UseConcMarkSweepGC" export HBASE_MANAGES_ZK=falseHBASE_MANAGES_ZK默認是true,說明是讓Hbase 單獨管理 zookeeper。如果你機器上已經安裝好了分布式Zookeeper,那么可以設定為fals;否則就不需要修改。
hbase-site.xml
$ vim hbase-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定 hbase 在 HDFS 上存儲的路徑,保持與 core-site.xml 中的 hdfs 路徑一致 --><property><name>hbase.rootdir</name><value>hdfs://master:9000/hbase</value></property><!-- 指定 hbase 是分布式的 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- 指定 zk 的地址,多個用“,”分割 ,hbase.zookeeper.quorum 的個數必須是奇數,至少是3個--><property><name>hbase.zookeeper.quorum</name><!-- quorum : 法定人數 --><value>master:2181,slave1:2181,slave2:2181</value></property></configuration>regionservers
$ vim regionservers master slave1 slave2下發
$ scp -r ~/hbase/ slave1:~/hbase $ scp -r ~/hbase/ slave2:~/hbase并修改各節點的 /etc/profile 文件內容。
啟動
在 master 中啟動 master 進程
$ hbase-daemon.sh start master starting master, logging to /home/hadoop/hbase/logs/hbase-hadoop-master-master.out在兩個 slaves 中啟動 master 進程
[hadoop@slave1 ~]$ hbase-daemon.sh start regionserver starting regionserver, logging to /home/hadoop/hbase/logs/hbase-hadoop-regionserver-slave1.out [hadoop@slave2 ~]$ hbase-daemon.sh start regionserver starting regionserver, logging to /home/hadoop/hbase/logs/hbase-hadoop-regionserver-slave2.out或者直接使用
$ start-hbase.sh starting master, logging to /home/hadoop/hbase/logs/hbase-hadoop-master-master.out slave2: starting regionserver, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-regionserver-slave2.out slave1: starting regionserver, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-regionserver-slave1.out master: starting regionserver, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-regionserver-master.out驗證
方式一:jps
如果你使用 jps 命令可以查看到如下的這些進程,那么 ok, 你的配置基本沒啥問題了。
方式二:網頁驗證
你也可以在節點主機的 web 瀏覽器里輸入 master:60010 進行驗證
如果你的界面里也有類似的界面,那么就說明 hbase 已經成功安裝了。
方式三:Shell
上面的兩種還都只是驗證了你的 Hbase 是否安裝成功,卻不能說明它一定可用。這時需要進行 Shell 驗證。主要驗證步驟參見下面。
shell
可以使用 hbase shell 進入
$ hbase shell 2016-06-07 16:25:07,525 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.98.18-hadoop2, rc26c554ab3a8deecf890873bf6b1b4c90fa001dc, Fri Mar 18 19:19:59 PDT 2016hbase(main):001:0>檢查狀態
hbase(main):001:0> status SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/hadoop/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/hadoop/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load創建數據表
hbase(main):002:0> create 'student', 'name', 'sex', 'age' 0 row(s) in 0.8520 seconds=> Hbase::Table - student查看數據表
hbase(main):003:0> list TABLE student 1 row(s) in 0.0450 seconds=> ["student"]Ref
- http://www.iteblog.com/archives/902
- https://segmentfault.com/q/1010000000606670
- http://www.aboutyun.com/thread-5882-1-1.html
征集
如果你也需要使用ProcessOn這款在線繪圖工具,可以使用如下邀請鏈接進行注冊:
https://www.processon.com/i/56205c2ee4b0f6ed10838a6d
總結
以上是生活随笔為你收集整理的HBase 0.98 分布式集群安装详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 设计模式——状态模式
- 下一篇: HBase Shell 的基本操作