HBase HA的安裝

HBase 簡(jiǎn)介

HBase是一個(gè)分布式的臭笆、面向列的開(kāi)源數(shù)據(jù)庫(kù),就像Bigtable利用了Google文件系統(tǒng)(File System)所提供的分布式數(shù)據(jù)存儲(chǔ)一樣,hbase在Hadoop之上提供了類似于Bigtable的能力愁铺。HBase是Apache的hadoop項(xiàng)目的子項(xiàng)目鹰霍。HBase不同于一般的關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)茵乱。另一個(gè)不同的是HBase基于列的而不是基于行的模式茂洒。它是一個(gè)高可靠性、高性能似将、面向列获黔、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群在验。

HBase的常見(jiàn)使用場(chǎng)景如下:
1玷氏、大數(shù)據(jù)量(100s TB級(jí)數(shù)據(jù))且有快速隨機(jī)訪問(wèn)的需求。例如淘寶的交易歷史記錄腋舌,數(shù)據(jù)量巨大無(wú)容置疑盏触,面向普通用戶的請(qǐng)求必然要即時(shí)響應(yīng)。
2块饺、容量的優(yōu)雅擴(kuò)展赞辩。大數(shù)據(jù)驅(qū)使下的動(dòng)態(tài)擴(kuò)展系統(tǒng)容量是必須的。
3授艰、業(yè)務(wù)場(chǎng)景簡(jiǎn)單辨嗽,不需要關(guān)系數(shù)據(jù)庫(kù)中很多特性(例如交叉列、交叉表淮腾,事務(wù)糟需,連接等等)。
4谷朝、合理設(shè)計(jì)rowkey洲押。因?yàn)閔Base的查詢用rowkey是最高效的,也幾乎是生產(chǎn)環(huán)境下唯一可行的方式圆凰。

在搭建HBase高可用集群時(shí)杈帐,將HBase的RegionServer部署在HDFS的3個(gè)DataNode節(jié)點(diǎn)上,HBase的HMaster服務(wù)部署在HDFS的2個(gè)NameNode(Active和Standby)節(jié)點(diǎn)上专钉,部署2個(gè)HMaster保證集群的高可用性挑童,防止單點(diǎn)問(wèn)題。這里使用了獨(dú)立的ZooKeeper集群跃须,未使用HBase自帶的ZooKeeper炮沐。

HMaster沒(méi)有單點(diǎn)問(wèn)題,HBase中可以啟動(dòng)多個(gè)HMaster回怜,通過(guò)Zookeeper的Master Election機(jī)制保證總有一個(gè)Master運(yùn)行。
所以這里要配置HBase高可用的話,只需要啟動(dòng)兩個(gè)HMaster玉雾,讓Zookeeper自己去選擇一個(gè)Master Acitve翔试。

安裝過(guò)程:

在master1節(jié)點(diǎn)解壓hbase安裝包
sudo tar zxvf ./hbase-1.2.6-bin.tar.gz

進(jìn)入hbase的conf目錄
cd /usr/local/hbase-1.2.6/conf/

修改hbase-env.sh
nano hbase-env.sh添加以下內(nèi)容

# 配置JDK安裝路徑
export JAVA_HOME=/usr/local/jdk1.7.0_80
# 配置Hadoop安裝路徑
export HADOOP_HOME=/usr/local/hadoop-2.6.5
# 設(shè)置HBase的日志目錄
export HBASE_LOG_DIR=${HBASE_HOME}/logs
# 使用獨(dú)立的ZooKeeper集群
export HBASE_MANAGES_ZK=false

配置hbase-site.xml(注意hbase.rootdir里面myCluster是安裝hadoop時(shí)設(shè)定的
nano hbase-site.xml
內(nèi)容改成下面的:

<configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://mycluster/hbase</value>
        </property>

        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>

        <property>
            <name>hbase.master</name>
            <value>60000</value>
        </property>

        <property>
            <name>hbase.tmp.dir</name>
            <value>/usr/local/hbase-1.2.6/tmp</value>
        </property>

        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>slave1,slave2,slave3</value>
        </property>

        <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/usr/local/zookeeper-3.4.6/data</value>
        </property>

        <property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2181</value>
        </property>

        <property>
            <name>zookeeper.session.timeout</name>
            <value>120000</value>
        </property>

        <property>
            <name>hbase.regionserver.restart.on.zk.expire</name>
            <value>true</value>
        </property>
</configuration>

配置regionservers
sudo nano regionservers
修改為以下內(nèi)容,這里面填寫(xiě)regionservers的hostname

slave1
slave2
slave3

新建backup-masters文件并配置复旬,這里面寫(xiě)的是HMaster的備用節(jié)點(diǎn)的hostname
sudo nano backup-masters
添加:

hadoop-master2

創(chuàng)建hbase的緩存文件目錄
cd /usr/local/hbase-1.2.6/
mkdir tmp

創(chuàng)建hbase的日志文件目錄
mkdir logs

改一下權(quán)限
sudo chown -R hadoop-sna .
sudo chgrp -R hadoop-sna .

將hbase工作目錄同步到集群其它節(jié)點(diǎn)

scp-r /usr/local/hbase-1.2.6/ master2:/usr/local/
scp-r /usr/local/hbase-1.2.6/ slave1: /usr/local/
scp-r /usr/local/hbase-1.2.6/ slave2: /usr/local/
scp-r /usr/local/hbase-1.2.6/ slave3: /usr/local/

在集群各節(jié)點(diǎn)上修改用戶環(huán)境變量
sudo nano /etc/profile
添加以下內(nèi)容:

export HBASE_HOME=/usr/local/hbase-1.2.6
export PATH=$PATH:$HBASE_HOME/bin

刷新環(huán)境變量
source /etc/profile

刪除hbase的slf4j-log4j12-1.7.5.jar垦缅,解決hbase和hadoop的LSF4J包沖突

cd /usr/local/hbase-1.2.6/lib
mv slf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bk

集群?jiǎn)?dòng)

啟動(dòng)zookeeper集群(分別在slave1、slave2和slave3上執(zhí)行)
zkServer.sh start
備注:此命令分別在slave1/slave2/slave3節(jié)點(diǎn)啟動(dòng)了QuorumPeerMain驹碍。

啟動(dòng)HDFS(在master1執(zhí)行)
start-dfs.sh
備注:此命令分別在master1/master2節(jié)點(diǎn)啟動(dòng)了NameNode和ZKFC壁涎,分別在slave1/slave2/slave3節(jié)點(diǎn)啟動(dòng)了DataNode和JournalNode。

啟動(dòng)YARN(在master2執(zhí)行)
start-yarn.sh
備注:此命令在master2節(jié)點(diǎn)啟動(dòng)了ResourceManager志秃,分別在slave1/slave2/slave3節(jié)點(diǎn)啟動(dòng)了NodeManager怔球。

啟動(dòng)YARN的另一個(gè)ResourceManager(在master1執(zhí)行,用于容災(zāi))
yarn-daemon.sh start resourcemanager
備注:此命令在master1節(jié)點(diǎn)啟動(dòng)了ResourceManager浮还。

啟動(dòng)HBase(在master1執(zhí)行)
start-hbase.sh
備注:此命令分別在master1/master2節(jié)點(diǎn)啟動(dòng)了HMaster竟坛,分別在slave1/slave2/slave3節(jié)點(diǎn)啟動(dòng)了HRegionServer。

測(cè)試

使用hbase shell進(jìn)入hbase交互式命令行

hbase>create 'userinfotable',{NAME=>'username'},{NAME=>'fullname'},{NAME=>'homedir'}
hbase>put 'userinfotable','r1','username','vcsa'
hbase>put 'userinfotable','r2','username','sasuser'
hbase>scan 'userinfotable'
hbase>disable ‘userinfotable’
hbase>drop ‘userinfotable’
hbase>exit

HBase安裝完畢

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钧舌,一起剝皮案震驚了整個(gè)濱河市担汤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洼冻,老刑警劉巖崭歧,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異撞牢,居然都是意外死亡率碾,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)普泡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)播掷,“玉大人,你說(shuō)我怎么就攤上這事撼班∑缧伲” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵砰嘁,是天一觀的道長(zhǎng)件炉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)矮湘,這世上最難降的妖魔是什么斟冕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮缅阳,結(jié)果婚禮上磕蛇,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好秀撇,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布超棺。 她就那樣靜靜地躺著,像睡著了一般呵燕。 火紅的嫁衣襯著肌膚如雪棠绘。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天再扭,我揣著相機(jī)與錄音氧苍,去河邊找鬼。 笑死泛范,一個(gè)胖子當(dāng)著我的面吹牛让虐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敦跌,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼澄干,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了柠傍?” 一聲冷哼從身側(cè)響起麸俘,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惧笛,沒(méi)想到半個(gè)月后从媚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡患整,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年拜效,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片各谚。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡紧憾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昌渤,到底是詐尸還是另有隱情赴穗,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布膀息,位于F島的核電站般眉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏潜支。R本人自食惡果不足惜甸赃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一给郊、第九天 我趴在偏房一處隱蔽的房頂上張望防嗡。 院中可真熱鬧,春花似錦夺谁、人聲如沸逾雄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)比被。三九已至,卻和暖如春稍计,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裕循。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工臣嚣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剥哑。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓硅则,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親株婴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怎虫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 入門(mén)指南 1. 簡(jiǎn)介 Quickstart會(huì)讓你啟動(dòng)和運(yùn)行一個(gè)單節(jié)點(diǎn)單機(jī)HBase。 2. 快速啟動(dòng) – 單點(diǎn)HB...
    和心數(shù)據(jù)閱讀 4,596評(píng)論 1 41
  • hadoop2集群搭建詳解------------------------天津九安醫(yī)療電子--吳偉 一困介、需要軟件 ...
    hogface閱讀 1,816評(píng)論 1 4
  • Hadoop姜骡、HBase、Hive屿良、Spark分布式系統(tǒng)架構(gòu)圈澈,本文通過(guò)全套部署方法來(lái)讓大家深入系統(tǒng)內(nèi)部以充分理解...
    0o失魂魚(yú)o0閱讀 2,834評(píng)論 0 30
  • 1.先決條件(HBase 依賴的一些重要的中間件、系統(tǒng)服務(wù)或配置) 1)運(yùn)行時(shí)環(huán)境JDK 2)SSH 服務(wù) 集群模...
    柳仁兒閱讀 4,294評(píng)論 0 2
  • 李二尘惧,現(xiàn)在可以肯定地說(shuō)康栈,你就是小偷。 如果你不是小偷褥伴,你就會(huì)和其他幾位嫌疑人一樣谅将,坦然去摸那口鐘了;如果你的確摸到...
    二班班閱讀 453評(píng)論 0 0