Hadoop2.7實戰v1.0之HBase1.1.5 HA分散式搭建

hackeruncle發表於2016-03-21
1.已有環境:Hadoop-2.7.2+zookeeper-3.4.6完全分散式環境搭建(HDFS、YARN HA) 

2.下載解壓hbase-1.2.0-bin.tar.gz和設定環境HBASE_HOME變數

點選(此處)摺疊或開啟

  1. [root@sht-sgmhadoopnn-01 tmp]# wget
  2. [root@sht-sgmhadoopnn-01 tmp]# tar -xvf hbase-1.1.5-bin.tar.gz
  3. [root@sht-sgmhadoopnn-01 tmp]# mv /tmp/hbase-1.1.5 /hadoop/hbase
  4. [root@sht-sgmhadoopnn-01 tmp]# cd /hadoop/hbase/conf
  5. [root@sht-sgmhadoopnn-01 conf]# pwd    
  6. /hadoop/hbase/conf
vi /etc/profile 增加內容如下:[叢集所有節點設定]

點選(此處)摺疊或開啟

  1. export HBASE_HOME=/hadoop/hbase
     
  2. PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:HBASE_HOME/bin:$PATH
  3. export $PATH
執行 source /etc/profile

3.
修改hbase-env.sh

export JAVA_HOME="/usr/java/jdk1.7.0_67-cloudera"

export HBASE_CLASSPATH=/hadoop/hadoop-2.7.2/etc/hadoop

#設定到Hadoop的etc/hadoop目錄是用來引導Hbase找到Hadoop,也就是說hbase和hadoop進行關聯【必須設定,否則hmaster起不來

export HBASE_MANAGES_ZK=false

#不啟用hbase自帶的zookeeper
4.修改hbase-site.xml

點選(此處)摺疊或開啟

  1. <configuration>
  2.         <!--hbase.rootdir的前端與$HADOOP_HOME/conf/core-site.xml的fs.defaultFS一致 -->
  3.         <property>
  4.                 <name>hbase.rootdir</name>
  5.                 <value>hdfs://mycluster/hbase</value>
  6.         </property>
  7.         <property>
  8.                 <name>hbase.cluster.distributed</name>
  9.                 <value>true</value>
  10.         </property>

  11. <!--本地檔案系統的臨時資料夾。可以修改到一個更為持久的目錄上。(/tmp會在重啟時清除) -->
  12.         <property>
  13.                 <name>hbase.tmp.dir</name>
  14.                 <value>/hadoop/hbase/tmp</value>
  15.         </property>

  16. <!--如果只設定單個 Hmaster,那麼 hbase.master 屬性引數需要設定為 master5:60000 (主機名:60000) -->
  17. <!--如果要設定多個 Hmaster,那麼我們只需要提供埠 60000,因為選擇真正的 master 的事情會有 zookeeper 去處理 -->
  18.         <property>
  19.                 <name>hbase.master</name>
  20.                 <value>60000</value>
  21.         </property>

  22. <!--這個引數使用者設定 ZooKeeper 快照的儲存位置,預設值為 /tmp,顯然在重啟的時候會清空。因為筆者的 ZooKeeper 是獨立安裝的,所以這裡路徑是指向了 $ZOOKEEPER_HOME/conf/zoo.cfg 中 dataDir 所設定的位置 -->
  23.         <property>
  24.                 <name>hbase.zookeeper.property.dataDir</name>
  25.                 <value>/hadoop/zookeeper/data</value>
  26.         </property>

  27.         <property>
  28.                 <name>hbase.zookeeper.quorum</name>
  29.                 <value>sht-sgmhadoopdn-01,sht-sgmhadoopdn-02,sht-sgmhadoopdn-03</value>
  30.         </property>
  31. <!--表示客戶端連線 ZooKeeper 的埠 -->
  32.         <property>
  33.                 <name>hbase.zookeeper.property.clientPort</name>
  34.                 <value>2181</value>
  35.         </property>
  36. <!--ZooKeeper 會話超時。Hbase 把這個值傳遞改 zk 叢集,向它推薦一個會話的最大超時時間 -->
  37.         <property>
  38.                 <name>zookeeper.session.timeout</name>
  39.                 <value>120000</value>
  40.         </property>

  41. <!--當 regionserver 遇到 ZooKeeper session expired , regionserver 將選擇 restart 而不是 abort -->
  42.         <property>
  43.                 <name>hbase.regionserver.restart.on.zk.expire</name>
  44.                 <value>true</value>
  45.         </property>
  46. </configuration>
5.修改regionservers檔案

點選(此處)摺疊或開啟

  1. sht-sgmhadoopdn-01
  2. sht-sgmhadoopdn-02
  3. sht-sgmhadoopdn-03

6.分發資料夾

點選(此處)摺疊或開啟

  1. [root@sht-sgmhadoopnn-01 hadoop]# scp -r hbase  root@sht-sgmhadoopnn-02:/hadoop
  2. [root@sht-sgmhadoopnn-01 hadoop]# scp -r hbase  root@sht-sgmhadoopdn-01:/hadoop
  3. [root@sht-sgmhadoopnn-01 hadoop]# scp -r hbase  root@sht-sgmhadoopdn-02:/hadoop
  4. [root@sht-sgmhadoopnn-01 hadoop]# scp -r hbase  root@sht-sgmhadoopdn-03:/hadoop
7.啟動HBase HA

點選(此處)摺疊或開啟

  1. [root@sht-sgmhadoopnn-01 bin]# start-hbase.sh
  2. [root@sht-sgmhadoopnn-02 bin]# hbase-daemon.sh start master
8.驗證是否已經啟動hbase叢集和驗證who is master and who is Backup Master
 
  • 1).程式和查詢伺服器狀態

點選(此處)摺疊或開啟

  1. ##程式
  2. [root@sht-sgmhadoopnn-01 bin]# jps
  3. 20519 NameNode
  4. 18925 Jps
  5. 20872 DFSZKFailoverController
  6. 26810 ResourceManager
  7. 13564 HMaster

  8. [root@sht-sgmhadoopnn-02 logs]# jps
  9. 5265 NameNode
  10. 5449 DFSZKFailoverController
  11. 26319 Jps
  12. 12281 ResourceManager
  13. 21879 HMaster
  14. [root@sht-sgmhadoopdn-01 bin]# jps
  15. 30488 QuorumPeerMain
  16. 25780 NodeManager
  17. 20286 DataNode
  18. 996 HRegionServer
  19. 6371 Jps
  20. 20399 JournalNode
  21. ### sht-sgmhadoopdn-02,03與01一樣

  22. ##查詢伺服器狀態
  23. [root@sht-sgmhadoopnn-01 bin]# hbase shell
  24. 2016-03-16 22:55:36,551 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
  25. HBase Shell; enter 'help' for list of supported commands.
  26. Type "exit" to leave the HBase Shell
  27. Version 1.2.0, r25b281972df2f5b15c426c8963cbf77dd853a5ad, Thu Feb 18 23:01:49 CST 2016

  28. hbase(main):001:0> status
  29. 1 active master, 1 backup masters, 3 servers, 0 dead, 0.6667 average load

2).檢視日誌

Hadoop2.7實戰v1.0之HBase1.1.5 HA分散式搭建

3).登入zookeeper

Hadoop2.7實戰v1.0之HBase1.1.5 HA分散式搭建
       4).web頁面

why web page for the running HBase1.1.5 Master???

After the 0.98 version port numbers have changed. It is now 16010 instead of 60010). Check this page for general UI troubleshooting:





####當前截圖為HBASE1.2.0截圖
Hadoop2.7實戰v1.0之HBase1.1.5 HA分散式搭建Hadoop2.7實戰v1.0之HBase1.1.5 HA分散式搭建

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30089851/viewspace-2061399/,如需轉載,請註明出處,否則將追究法律責任。

相關文章