HBase簡介和分散式叢集的搭建
HBase是什麼?
1,概念
HBase是一個高可靠性、高效能、可伸縮、分散式、基於列儲存的非關係型(NoSQL)資料庫。
列式儲存和行式儲存?

非關係型資料庫與關係型資料庫?

2,與Google Bigtable的不同之處

3, 何時採用 HBase?
(1)需適應不同種類資料格式和資料來源,不能預先嚴格定義模式
(2)需處理大規模資料
(3)不強調資料之間的關係,需儲存半結構化和非結構化資料
(4)資料非常稀疏,有大量為 NULL 的字串
(5)想要更好的進行擴充套件
4,HBase 叢集結構

HBase 分散式叢集搭建

1,前期裝備
(1)同步網路時間
1. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改時區
3. ntpdate cn.pool.ntp.org #同步網路時間
3. date #檢查時間是否修改成功
(2)安裝zookeeper在所有節點上
zookeeper安裝步驟(點選可跳轉到安裝頁面)
2,HBase1.3.1 分散式叢集搭建
1,下載安裝包
下載地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/
版本號: hbase-1.3.1-bin.tar.gz
2,上傳並解壓
將 HBase 安裝包上傳到 Linux 伺服器
解壓命令:tar -zxvf hbase-1.3.1-bin.tar.gz
3,修改配置檔案
hbase-env.sh
1,修改JDK安裝路徑
export JAVA_HOME=/home/shiny/Desktop/software/jdk1.8.0_73

2,不引用HBase自帶的ZooKeeper,使用自己安裝的

hbase-site.xml
1,指定 HBase 在 HDFS 上儲存的路徑
1. <property>
2. <name>hbase.rootdir</name>
3. <value>hdfs://hadoop01:9000/hbase</value>
4. </property>
2,指定 HBase 是分散式的
1. <property>
2. <name>hbase.cluster.distributed</name>
3. <value>true</value>
4. </property>
3,指定 ZooKeeper 節點,多個用“,”分割
1. <property>
2. <name>hbase.zookeeper.quorum</name>
3. <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
4. </property>
4,ZooKeeper配置檔案zoo.cfg中的dataDir。ZooKeeper儲存資料庫快照的位置
1. <property>
2. <name>hbase.zookeeper.property.dataDir</name>
3. <value>/home/shiny/zkdata</value>
4. </property>
4,分發到其它節點
1. scp -r hbase-1.3.1/ shiny@hadoop02:$PWD
2. scp -r hbase-1.3.1/ shiny@hadoop03:$PWD
5,配置環境變數
1,編輯.bash_profile檔案
1. vim /home/theone/.bash_profile
2,新增環境變數:
1. export HBASE_HOME=/home/theone/Desktop/software/hbase-1.3.1/
2.export PATH=$PATH:$HBASE_HOME/bin
3,立即執行檔案
1. source /home/theone/.bash_profile
6,啟動 HBase 叢集
1,啟動hadoop叢集,(在主節點上執行命令)
1. start-dfs.sh
2.start-yarn.sh
2,啟動 ZooKeeper 叢集,(在所有節點上執行命令)
1. zkServer.sh start
3,啟動 HBase 叢集,(在哪個節點啟動哪個節點就是主節點)
1. start-hbase.sh
啟動頁面有警告資訊:
解決方案:
1,將 JDK 修改為 1.7 版本
2,修改 HBase 的配置檔案hbase-env.sh
關閉 HBase 叢集,命令:stop-hbase.sh
修改配置檔案hbase-env.sh,將以下兩行配置註釋掉(每個節點)

再次啟動 HBase 叢集,警告資訊消失
7,驗證 HBase 叢集
檢查程序,命令:jps

登入Web UI 頁面:主節點:16010

8,單步啟動
主節點:hbase-daemon.sh start master
從節點:hbase-daemon.sh start regionserver
3,常見異常
HRegionServer 程序啟動後立即退出
多臺伺服器之間 HBase 預設的容忍時間差為 30s
原因:由於HBase 叢集伺服器時間不同步
大家喜歡多多關注,你的關注是我最大的動力。需要大資料學習資料的可以加群:834325294