1、hbase的介紹(自行百度hbase,比我總結的全面具體) HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分散式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。 HBase是Google Bigtable的開源實現,類 ...
1、hbase的介紹(自行百度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作為協同服務。
2、搭建hbase的環境準備
1.jdk的1.7以上版本
2.前提zookper集群和HDFS集群
保證HDFS的namenode和datanode啟動,也就是zookeeper出現QuorumPeerMain的leader和follower
3.安裝hbase(今天的主題,理論知識太多也沒用!!!)
3.1下載HBase安裝包(hbase.apache.org)
我一般都是下載到window10里,在用Xftp傳到JVM里的tmp目錄下,安裝到我JVM對相應的/usr/local路徑下
tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local/
然後進入我的local目錄 cd /usr/local/
重命名 mv hbase-1.2.6/ hbase
我通常會把軟體的docs刪了,當搭建集群時會拷貝整個hbase,docs裝的API在虛擬機里我們幾乎不需要。
cd hbase 刪除docs :rm -rf docs/
3.2修改環境變數
3.2.1 使用 vim /etc/profile命令修改系統環境變數(當你是普通用戶時 sudo vim /etc/profile)
#hbase
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
保存後source /etc/profile應用下
3.2.2 在修改hbase的環境變數(記住的JAVA_HOME可使用echo $JAVA_HOME查我的路徑是/usr/local/java)
cd /usr/local/hbase/conf
vim hbase-env.sh
export JAVA_HOME=/usr/local/java #Java環境
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop #通過hadoop的配置文件找到hadoop集群(hdfs_site.xml的目錄位置)
export HBASE_MANAGES_ZK=false #不使用HBASE自帶的zookeeper管理集群
3.2.3HBase參數配置:(hbase-site.xml)由於我直接配置的集群變數,可能跟偽集群不大一樣。
<property><!-- 指定HDFS的路徑信息 -->
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<property><!-- Hbase的運行模式,false單機,true分散式集群 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property><!-- ZK集群 -->
<name>hbase.zookeeper.quorum</name>
<value>zkHost01:2181,zkHost02:2181,zkHost03:2181</value>
</property>
<property><!--web ui port-->
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
3.2.4測試是否啟動成功
zkServer.sh start
start-dfs.sh
start-hbase.sh
jps顯示如下
由於我搭的集群的正常還應該有個
ok!!!!!!!!!!!
4,配置集群的Hbase
如果你按上述創建完成了我們配置一個集群,克隆機就不用說了吧,搭建HDFS集群略過
達到的效果是配置2台主機(Hmaster),3個子機(HRegionServer)
主機分別為HaoopMaster01,HaoopMaster02.子機為HadoopSlave1,HadoopSlave2,HadoopSlave3
4.1在主機直接配置子機vim /usr/local/hbase/conf/regionservers
#裡面填入子機名或埠號(可在etc下hosts里修改集群名對應埠)
HadoopSlave1
HadoopSlave2
HadoopSlave3
4.2把你配置好的hbaser通過你的單點機直接複製到其他機器上
再把第二台主機的環境配好 scp -r /etc/profile HadoopMaster01 :/etc/
scp -r hbase HadoopMaster01 :/usr/local
scp -r hbase HadoopSlave1 :/usr/local
scp -r hbase HadoopSlave2 :/usr/local
scp -r hbase HadoopSlave3 :/usr/local
4.3第二台主機需要單啟(這台主機是防止一臺主機down了,然後自動頂上)
hbase-daemon.sh start master
4.4測試
jps
這個集群主機的DFSZKFailoverController和ResousrceManager於本次配置無關子機的nodeManager和journalnode無關
因為我測試之前搭建的yarn和zfkc所以就顯示上了(so sorry!)
有什麼大數據集群搭建問題可以直接評論我,一起進步吧!!!!