HBase——第一章(安裝與配置)
05-13
基礎知識:
- HBase簡介
- HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分散式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
- HBase是Google BigTable的開源實現,類似Google BigTable利用GFS作為其文件存儲系統,HBase利用Hadoop HDFS作為其文件存儲系統;Google運行MapReduce來處理Bigtable中的海量數據,HBase同樣利用Hadoop MapReduce來處理HBase中的海量數據;Google Bigtable利用 Chubby作為協同服務,HBase利用Zookeeper作為對應。
- HBase特點
- HBase作為面向列的資料庫運行在HDFS之上,HDFS缺乏隨即讀寫操作,HBase正是為此而出現。HBase以Google BigTable為藍本,以鍵值對的形式存儲。項目的目標就是快速在主機內數十億行數據中定位所需的數據並訪問它。
- HBase是一個資料庫,一個NoSql的資料庫,像其他資料庫一樣提供隨即讀寫功能,Hadoop不能滿足實時需要,HBase正可以滿足。如果你需要實時訪問一些數據,就把它存入HBase。
- 可以用Hadoop作為靜態數據倉庫,HBase作為數據存儲,放那些進行一些操作會改變的數據。
- Hive VS HBase
- Hive是建立在Hadoop之上為了減少MapReduce jobs編寫工作的批處理系統,HBase是為了支持彌補Hadoop對實時操作的缺陷的項目 。
- 想像你在操作RMDB資料庫,如果是全表掃描,就用Hive+Hadoop,如果是索引訪問,就用HBase+Hadoop 。
- Hive query就是MapReduce jobs可以從5分鐘到數小時不止,HBase是非常高效的,肯定比Hive高效的多。
相關下載:
- hbase-1.0.3-bin.tar.gz(下載地址)
HBase安裝與配置
注意:本實驗採用3個節點分別為hadoop中的master、slave1、slave2
1、解壓
相關命令:
- sudo tar -xzvf /home/kaede/hbase-1.0.3-bin.tar.gz -C .
2、更改文件許可權
相關命令:
sudo chown -R hadoop:hadoop hbase-1.0.3/
3、編輯conf目錄下hbase-env.sh文件
相關內容:
- export JAVA_HOME=/usr/lib/jdk1.8.0_112/
- export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
- export HBASE_HEAPSIZE=2048
- export HBASE_MANAGES_ZK=false
注意:JAVA_HOME表示java安裝目錄,HBASE_CLASSPATH指向存放有Hadoop配置文件的目錄,這樣HBase可以找到HDFS的配置信息,由於本文Hadoop和HBase部署在相同的物理節點,所以就指向了Hadoop安裝路徑下的conf目錄。HBASE_HEAPSIZE單位為MB,可以根據需要和實際剩餘內存設置,默認為1000。HBASE_MANAGES_ZK=false指示HBase使用已有的Zookeeper而不是自帶的。
4、編輯conf目錄下hbase-site.xml文件
相關內容:
- <configuration>
- <property>
- <name>hbase.rootdir</name>
- <value>hdfs://master:9000/hbase</value>
- </property>
- <property>
- <name>hbase.cluster.distributed</name>
- <value>true</value>
- </property>
- <property>
- <name>hbase.zookeeper.quorum</name>
- <value>master,slave1,slave2</value>
- </property>
- <property>
- <name>hbase.master</name>
- <value>hdfs://master:60000</value>
- </property>
- <property>
- <name>hbase.zookeeper.property.dataDir</name>
- <value>/home/hadoop/opt/zookeeper_data</value>
- </property>
- <property>
- <name>hbase.master.info.bindAddress</name>
- <value>master</value>
- </property>
- <property>
- <name>hbase.master.info.port</name>
- <value>60010</value>
- </property>
- <property>
- <name>hbase.regionserver.port</name>
- <value>16020</value>
- </property>
- <property>
- <name>hbase.regionserver.info.port</name>
- <value>16030</value>
- </property>
- <property>
- <name>hbase.regionserver.info.port.auto</name>
- <value>true</value>
- </property>
- <property>
- <name>hbase.regionserver.info.bindAddress</name>
- <value>0.0.0.0</value>
- </property>
- </configuration>
5、創建dataDir目錄(所有節點)
相關命令:
- mkdir -p /home/hadoop/opt/zookeeper_data
6、編輯conf目錄下regionservers文件
相關內容:
- slave1
- slave2
7、配置其他節點(在master下)
相關命令:
- scp -r hbase-1.0.3/ hadoop@Slave1:/home/hadoop
- scp -r hbase-1.0.3/ hadoop@Slave2:/home/hadoop
8、配置環境變數(所有節點)
相關命令與內容:
- sudo vim ~/.bashrc
- ------------------------------內 容------------------------------
- export HBASE_HOME=/home/hadoop/hbase-1.0.3
- export PATH=$PATH:HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin
- ------------------------------內 容------------------------------
- source ~/.bashrc
9、啟動與檢驗(注意要在啟動hdfs與Zookeeper的條件下)
相關命令:
- start-hbase.sh
- jps
10、啟動shell
相關命令:
- hbase shell
- status
- list
推薦閱讀:
※spark(hadoop搭建)
※大數據那些事(29):從Spark到Spark
※數據之路(Hadoop)我該如何打好基礎?
※在社交網路中,如何去計算中兩個人之間的最短路徑?