Hadoop2.7.2高可用(HA)環境下Hbase高可用(HA)環境的搭建(在Ubuntu14.04下以root用戶進行配置)

Hadoop2.7.2高可用(HA)環境下Hbase高可用(HA)環境的搭建

轉載請註明出處:http://blog.csdn.net/qq_23181841/article/details/75095370

(在Ubuntu14.04下以root用戶進行配置)
  1. 下載hbase-1.2.4-bin.tar.gz,並解壓
            #tar -zxvf hbase-1.2.4-bin.tar.gz -C /home/
  1. 修改conf/hbase-site.xml文件
            #vim hbase-site.xml
     <configuration>
   <property>
  <name>hbase.rootdir</name>
  <value>hdfs://nameserver/hbase</value>
 </property>
<property>
  <name>hbase.master</name>
  <value>60000</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hbase-1.2.4/hbase-tmp</value>
</property>
 <property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
 </property>
 <property>
   <name>hbase.master.info.port</name>
   <value>60010</value>
 </property>
 <property>
   <name>hbase.regionserver.info.port</name>
   <value>60030</value>
 </property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
 <property>
   <name>hbase.zookeeper.quorum</name>
   <value>master:2181,slaver1:2181,slaver2:2181</value>
 </property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zookeeperData</value>
</property>
<property>
<name>hbase.regionserver.restart.on.zk.expire</name>
<value>true</value>
</property>
</configuration>
  1.   hbase-site.xml 配置參數解析

1. hbase.rootdir
這個目錄是 RegionServer 的共享目錄,用來持久化 HBase。特別注意的是 hbase.rootdir 裏面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 裏面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必須一致。
(HA環境下,dfs.nameservices  是由zookeeper來決定的)
2. hbase.cluster.distributed
HBase 的運行模式。爲 false 表示單機模式,爲 true 表示分佈式模式。若爲 false,HBase 和 ZooKeeper 會運行在同一個 JVM 中

3. hbase.master

- 如果只設置單個 Hmaster,那麼 hbase.master 屬性參數需要設置爲 master5:60000 (主機名:60000)
- 如果要設置多個 Hmaster,那麼我們只需要提供端口 60000,因爲選擇真正的 master 的事情會有 zookeeper 去處理

4. hbase.tmp.dir
本地文件系統的臨時文件夾。可以修改到一個更爲持久的目錄上。(/tmp會在重啓時清除)

5. hbase.zookeeper.quorum
對於 ZooKeeper 的配置。至少要在 hbase.zookeeper.quorum 參數中列出全部的 ZooKeeper 的主機,用逗號隔開。該屬性值的默認值爲 localhost,這個值顯然不能用於分佈式應用中。

6. hbase.zookeeper.property.dataDir
這個參數用戶設置 ZooKeeper 快照的存儲位置,默認值爲 /tmp,顯然在重啓的時候會清空。因爲筆者的 ZooKeeper 是獨立安裝的,所以這裏路徑是指向了 $ZOOKEEPER_HOME/conf/zoo.cfg 中 dataDir 所設定的位置。

7. hbase.zookeeper.property.clientPort
表示客戶端連接 ZooKeeper 的端口。

8. zookeeper.session.timeout
ZooKeeper 會話超時。Hbase 把這個值傳遞改 zk 集羣,向它推薦一個會話的最大超時時間

9. hbase.regionserver.restart.on.zk.expire
當 regionserver 遇到 ZooKeeper session expired , regionserver 將選擇 restart 而不是 abort。
  1.  修改hbase-env.sh
               #vim hbase-env.sh
      export JAVA_HOME=/home/jdk1.7.0_80
      export HBASE_CLASSPATH= /home/hbase-1.2.4
      export HBASE_HEAPSIZE=4000
      export HBASE_LOG_DIR=${HBASE_HOME}/logs
      export HBASE_MANAGES_ZK=false        
參數註解:
      •   其中JAVA_HOME 和 HBASE_CLASSPATH 根據實際情況進行配置
      •   HBASE_HEAPSIZE 的大小根據你的集羣配置,默認是 1000
      •   HBASE_LOG_DIR 是 HBase 日誌存放位置
      •   HBASE_MANAGES_ZK=false 含義爲 hbase 不託管 zookeeper 的啓動與關閉,因爲筆者的 ZooKeeper 是獨立安裝的
       
  1.   配置 regionservers
           #vim regionservers
               master
               slaver1
               slaver2
  1.   替換Hadoop的jar包
      由於 HBase 依賴於 Hadoop,因此在安裝包的 lib 文件夾下包含了一個 Hadoop 的核心 jar 文件。在分佈式模式下,HBase 使用的 Hadoop 版本必須和運行中的 Hadoop 集羣的 jar 文件版本一致。將運行的分佈式 Hadoop 版本的 jar 文件替換 HBase 的 lib 目錄下的 Hadoop 的 jar 文件,以避免版本不匹配問題。確認替換了集羣中所有節點的 HBase 安裝目錄下 lib 目錄的 jar 文件。Hadoop 版本不匹配問題有不同的表現,但看起來 HBase 像掛掉了。

             cp ${HADOOP_HOME}/share/hadoop/common/hadoop-auth-2.7.2.jar ${HBASE_HOME}/lib/
         複製hadoop的core-site.xml和hdfs-site.xml到${HBASEHOME}/conf中,否則在啓動時,Regionserver會啓動失敗,報錯java.lang.IllegalArgumentException: java.net.UnknownHostException: nameserver
       #cp /home/hadoop-2.7.2/etc/hadoop/core-site.xml /home/hbase-1.2.4/conf/
       #cp /home/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /home/hbase-1.2.4/conf/

  1. 啓動Hbase
               (1)在其中一臺機器上:
                        #start-hbase.sh
               
                         有這兩個進程,表明Hbase啓動成功
          
               (2)在另外一臺機器上再啓動一個HMaster:
                      #hbase-demon.sh start master
               
通過Web訪問:
http://192.168.10.180:60010/master-status




http://192.168.10.179:60010/master-status















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章