HBase的環境搭建
獨立模式
環境準備
jdk1.7+hbase-1.2.1-bin.tar.gz
獨立模式不需要HDFS,使用的是本地檔案系統
搭建步驟
1.上傳hbase軟體包至/opt/software/下,并解壓到/opt/apps/裡(安裝目錄) tar -zxvf hbase-1.2.1-bin.tar.gz -C /opt/apps/
2.設定環境變量 vi /etc/profile
export HBASE_HOME=/opt/apps/hbase
export PATH=$PATH:$HBASE_HOME/bin:
4.使配置檔案生效 source /etc/profile
5.修改hbase-env.sh vi $HBASE_HOME/conf/hbase-env.sh
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/local/jdk1.8
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=true #hbase内置zookeeper開啟
6.修改hbase-site.xml vi $HBASE_HOME/conf/hbase-site.xml
<configuration>
<!-- 屬性hbase.rootdir用于指定hbase産生的資料的存儲位置 -->
<property>
<name>hbase.rootdir</name>
<value>file:///opt/apps/hbase/data</value>
</property>
<!-- hbase依賴于zookeeper,需要指定内置zookeeper的資料存儲位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/apps/hbase/zookeeper</value>
</property>
</configuration>
7.啟動hbase守護程序 start-hbase.sh hmaster --hbase的守護程序
8.連接配接hbase hbase shell
9.退出hbase并停止hbase程序 exit stop-hbase.sh
僞分布式
環境準備
jdk1.7+hadoop-2.7.6hbase-1.2.1.bin.tar.gz
基于普通HDFS叢集:hbase使用内置的zookeeper基于HDFS-HA叢集:hbase的内置zookeeper設定為false即可
安裝步驟
1.基于上面的獨立模式的1-6步
2.配置hbase-site.xml
<!-- 屬性hbase.rootdir用于指定hbase産生的資料的存儲位置 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hd/hbase</value>
</property>
<!-- 指定hbase使用的zookeeper叢集 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,hdp01:2181,hdp02:2181</value>
</property>
<!-- 開啟用hbase叢集模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--将屬性hbase.unsafe.stream.capability.enforce 改為true -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>true</value>
</property>
3.啟動叢集 啟動zookeeper、啟動HDFS-HA、啟動HBase
4.(可選)開啟備份master(backup_master) local-master-backup.sh start 2 3 5 說明:2,3,5是端口号16010和16000的端口偏移量,生成的端口号就是:16012/16002 16013/16003 16015/16005 關閉備份master:backup-master 檢視備份master的pid,通過kill指令 來結束程序 方法:jps 或 cat /tmp/hbase-hyxy-num-master.pid | xargs kill -9
5.(可選)開啟或停止其他RegionServe local-regionservers.sh start 2 3 4 5 local-regionservers.sh stop [num]
完全分布式
環境準備
jdk 1.7+hadoop-2.8.5zookeeper-3.4.7hbase-1.2.1.bin.tar.gz
程序布局
master節點:master,resionserver,zookeeperhdp01節點:backup hmaster ,resionserver,zookeeperhdp02節點:regionserver,zookeeper
安裝步驟
1.基于獨立模式
2.配置ssh免密登陸、配置時間同步
3.确認hbase-env.sh是否禁用内置的zookeeper
4.修改hbase-site.xml vi $HBASE_HOME/conf/hbase-site.xml
<!-- 修改hbase的存儲路徑為HDFS内-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hd/hbase</value>
</property>
<!-- 開啟用hbase叢集模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--将屬性hbase.unsafe.stream.capability.enforce 改為true -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>true</value>
</property>
<!-- 指定hbase使用的zookeeper叢集 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,hdp01:2181,hdp02:2181</value>
</property>
5.配置RegionServer所在的節點資訊 vi $HBASE_HOME/conf/regionservers
master
hdp01
hdp02
6.配置備份HMaster:建立backup-masters檔案 cd $HBASE_HOME/conf/ echo "slave1">> backup-masters
7.将hadoop的core-site.xml和hdfs-site.xml放入conf目錄内 cd $HADOOP_HOME/etc/hadoop/ cp core-site.xml hdfs-site.xml $HBASE_HOME/conf/
8.将hbase分發到叢集其他相關節點上 scp /opt/apps/hbase-1.2.1 hdp01:/opt/apps/ scp /opt/apps/hbase-1.2.1 hdp02:/opt/apps/ 環境變量配置
9.啟動叢集 啟動zookeeper叢集 啟動hdfs叢集 啟動hbase服務