HBase獨立集群部署


  HBase是分布式、面向列式存儲的開源數據庫,來源於Google的論文BigTable,HBase運行於Hadoop平台之上,不同於一般的關系數據庫,是一個適合非結構化數據存儲的分布式數據庫

  安裝Hbase之前首先系統應該做通用的集群環境准備工作,這些是必須的:

  1、集群中主機名必須正確配置,最好有實際意義;並且主機名都在hosts文件中對應主機IP,一一對應,不可缺少

  

  這里是3台主機,分別對應

  2、JDK環境正確安裝

  3、集群中每台機器關閉防火牆,保證通信暢通

  4、配置集群間ssh免密登錄

  5、集群ntp服務開啟,保證時間同步

  6、Hadoop HDFS服務開啟

  前面5步都配置好的基礎上,首先配置Hadoop集群,在bigdata1上做配置操作

  首先解壓hadoop,並安裝至指定目錄:

tar -xvzf hadoop-2.6.0.tar.gz 
mkdir /bigdata/hadoop
mv hadoop-2.6.0 /bigdata/hadoop
cd /bigdata/hadoop/hadoop-2.6.0

  就是簡單的釋放,然后為了方便可以將HADOOP_HOME添加至環境變量

  配置hadoop需要編輯以下幾個配置文件:

  hadoop-env.sh  core-site.xml  hdfs-site.xml   mapred-site.xml   yarn-site.xml  slaves

  1、編輯hadoop-env.sh

  修改export JAVA_HOME=${JAVA_HOME}為自己的實際安裝位置

  這里是export JAVA_HOME=/usr/local/java/jdk1.8.0_73

  

 

   2、編輯core-site.xml,在configuration標簽中間添加如下代碼:

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://bigdata1:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/bigdata/hadoop/tmp</value>
    </property>

  其中bigdata1是namenode節點

  3、編輯hdfs-site.xml ,添加如下代碼:

    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///bigdata/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///bigdata/hadoop/hdfs/data</value>
    </property>
    <!-- 這個地方是為Hbase的專用配置,最小為4096,表示同時處理文件的上限,不配置會報錯 -->
    <property>
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
    </property>

  關於第4組配置已經注釋說明了

  4、編輯mapred-site.xml,添加如下配置:

    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

  5、編輯yarn-site.xml,添加如下配置:

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

  6、編輯slaves,添加datanode節點

bigdata2
bigdata3

  這些都保存完畢,將/bigdata/下的hadoop目錄整體發送至集群中其他主機,其他主機應該事先建立好bigdata目錄

scp -r /bigdata/hadoop bigdata2:/bigdata
scp -r /bigdata/hadoop bigdata3:/bigdata

  然后在bigdata1上格式化文件系統:

bin/hdfs namenode -format

  然后啟動hdfs服務:

sbin/start-dfs.sh

  啟動完成之后,執行 jps 命令,在主節點可以看到NameNode和SecondaryNameNode進程;其他節點可以看到DataNode進程

  然后啟動yarn守護進程: sbin/start-yarn.sh 

  主節點會增加:ResourceManager進程,其他節點會增加:NodeManager進程

  現在通過瀏覽器可以打開相應的管理界面,以bigdata1的IP訪問:

  http://192.168.0.187:50070

  

  http://192.168.0.187:8088

  

  到這里hadoop hdfs就部署完成了,然后開始部署HBase,這里使用的版本為:hbase-0.98.18-hadoop2-bin.tar.gz

  和釋放hadoop包一樣將hbase釋放到對應的目錄並進入,這里是:/bigdata/hbase/hbase-0.98.18-hadoop2

  首先編輯配置文件: vim conf/hbase-env.sh 

  去掉JAVA_HOME前面的注釋,改為自己實際的JDK安裝路徑,和配置hadoop類似

  

  然后,去掉export HBASE_MANAGES_ZK=true前面的注釋並改為export HBASE_MANAGES_ZK=false,配置不讓HBase管理Zookeeper

  

  配置完這兩項之后,保存退出

  編輯文件 vim conf/hbase-site.xml 在configuration標簽之間加入如下配置:

    <!-- 指定HBase在HDFS上面創建的目錄名hbase -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://bigdata1:9000/hbase</value>
    </property>
    <!-- 開啟集群運行方式 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

  分別將hadoop配置下的core-site.xml和hdfs-site.xml復制或者做軟鏈接到hbase配置目錄下:

cp /bigdata/hadoop/hadoop-2.6.0/etc/hadoop/core-site.xml conf/
cp /bigdata/hadoop/hadoop-2.6.0/etc/hadoop/hdfs-site.xml conf/

  執行 vim conf/regionservers 編輯運行regionserver存儲服務的Hbase節點,就相當於hadoop slaves中的DataNode節點

  

  保存之后,配置完畢,將hbase發送至其他數據節點:

scp -r /bigdata/hbase/ bigdata2:/bigdata/
scp -r /bigdata/hbase/ bigdata3:/bigdata/

  然后在bigdata1啟動Hbase

bin/start-hbase.sh

  啟動成功,在bigdata1會增加進程:HMaster 在bigdata2和bigdata3會增加進程:HRegionServer

  到這里HBase就部署完畢,這里沒有包含Zookeeper

  執行命令: /bigdata/hadoop/hadoop-2.6.0/bin/hdfs dfs -ls / 可以查看hbase是否在HDFS文件系統創建成功

  

  看到/hbase節點表示創建成功

  然后執行: bin/hbase shell 可以進入Hbase管理界面

  

  輸入 status 查看狀態

  

  返回狀態,表示HBase可以正常使用

  輸入 quit 可以退出管理,回到命令行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM