天天看點

Hbase 安裝和部署

搭建hbase叢集

    0.選擇安裝的主機

        s201 ~ s204

    1.jdk

             可參考此篇:https://blog.csdn.net/mao502010435/article/details/86487920

    2.hadoop

             可參考此篇:https://blog.csdn.net/mao502010435/article/details/86487920

    3.tar 

tar -xzvf hbase.tar.gz
           

    4.環境變量

        export HBASE_HOME=/soft/hbase
        export PATH=$PATH:$HBASE_HOME/bin
           

    .驗證安裝是否成功

        $>hbase version    5.配置hbase模式

        5.1)本地模式

            [hbase/conf/hbase-env.sh]            

EXPORT JAVA_HOME=/soft/jdk

            [hbase/conf/hbase-site.xml]
            ...
            <property>
                <name>hbase.rootdir</name>
                <value>file:/home/hadoop/HBase/HFiles</value>
            </property>
           

        5.2)僞分布式            

[hbase/conf/hbase-env.sh]
            EXPORT JAVA_HOME=/soft/jdk

            [hbase/conf/hbase-site.xml]
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property
            <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:8030/hbase</value>
            </property>
           

        5.3)完全分布式(必做)

[hbase/conf/hbase-env.sh]
            export JAVA_HOME=/soft/jdk
            export HBASE_MANAGES_ZK=false

            [hbse-site.xml]
            <!-- 使用完全分布式 -->
            <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
            </property>

            <!-- 指定hbase資料在hdfs上的存放路徑 -->
            <property>
                <name>hbase.rootdir</name>
                <value>hdfs://s201:8020/hbase</value>
            </property>
            <!-- 配置zk位址 -->
            <property>
                <name>hbase.zookeeper.quorum</name>
                <value>s201:2181,s202:2181,s203:2181</value>
            </property>
            <!-- zk的本地目錄 -->
            <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/home/centos/zookeeper</value>
            </property>
           

  6.配置regionservers        

[hbase/conf/regionservers]
        s202
        s203
        s204
           

   7.啟動hbase叢集(s201)       

 $>start-hbase.sh
           

    8.登入hbase的webui        

http://s201:16010
           

hbase和hadoop的ha內建

    1.在hbase-env.sh檔案添加hadoop配置檔案目錄到HBASE_CLASSPATH環境變量并分發.

        [/soft/hbase/conf/hbase-env.sh]
        export HBASE_CLASSPATH=$HBASE_CLASSPATH:/soft/hadoop/etc/hadoop
           

    2.在hbase/conf/目錄下建立到hadoop的hdfs-site.xml符号連接配接。        

ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/hdfs-site.xml
           

    3.修改hbase-site.xml檔案中hbase.rootdir的目錄值。       

         [/soft/hbase/conf/hbase-site.xml]
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://mycluster/hbase</value>
        </property>
           

    4.将以上步驟分發處理。

注:配置過程中遇到的問題

1:Hmaster啟動失敗

檢視日志發現logs檔案夾和檔案夾下的檔案都是root權限,出現權限不足問題,修改為使用者權限,可以啟動了。

2.HRegionServer 啟動失敗

Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
           

該類不存在錯誤

在maven庫下載下傳htrace-core-3.1.0-incubating.jar并移動到 $HBASE_HOME/lib/ 目錄下,啟動成功

3.HRegionServer 啟動後消失

檢視Hmater主伺服器時間是否與其他伺服器時間相同,如果不同,則更新時間,問題解決

安裝ntpdate工具
# yum -y install ntp ntpdate


設定系統時間與網絡時間同步
# ntpdate cn.pool.ntp.org


将系統時間寫入硬體時間
# hwclock --systohc
           

繼續閱讀