2013年1月21日,在日本東京國際展覽中心(Tokyo Big Sight),召開第四屆日本Hadoop用戶大會“Hadoop Conference Japan 2013 Winter” 。運(yùn)營社交通信應(yīng)用LINE(連我)的NHN Japan的中村俊介介紹作為LINE的存儲器利用開源數(shù)據(jù)庫HBase的情況。
會議第一部分播放了Hadoop之父Apache軟件基金會主席Doug Cutting的錄像,他對今后Hadoop開發(fā)方針進(jìn)行說明。
Hadoop是在2000年谷歌公司發(fā)表的分布式文件系統(tǒng)“Google File System”和并列編程模型“MapReduce”基礎(chǔ)上開發(fā)的項(xiàng)目?;贖adoop的分布式面向列開源數(shù)據(jù)庫HBase也受到谷歌論文“BigTable”的啟發(fā),此外,Doug Cutting所屬的美國Cloudera公司目前開發(fā)的“Impala”,其模型也是谷歌公司公開的論文“Dremel/F1”。
2012年,谷歌公司也公開論文“Spanner”,它是一個(gè)可擴(kuò)展的、多版本、全球分布式、同步復(fù)制數(shù)據(jù)庫。Doug Cutting說:“谷歌是Hadoop的指路人”。
LINE的HBase集群日處理100億record
接著進(jìn)行基調(diào)演講的是NHN Japan的中村俊介,社交通訊類應(yīng)用LINE就是由HN Japan開發(fā),LINE在日本的人氣度僅次于Twitter ,其全世界用戶突破1億,公司計(jì)劃2013年用戶達(dá)到3億。目前,LINE使用的就是HBase,負(fù)責(zé)HBase的工程師中村介紹了公司運(yùn)行HBase的經(jīng)驗(yàn)。
據(jù)中村說,LINE的HBase集群每天保存100億record的數(shù)據(jù),同時(shí),保持寫入1毫秒讀取1~10毫秒。而且,通過復(fù)制HBase集群,也實(shí)現(xiàn)了高可用性。公司選擇HBase的原因是,可實(shí)現(xiàn)大容量和高速性以及高可用性。
中村在演講中介紹了運(yùn)行支撐LINE存儲器的三個(gè)插曲。一個(gè)是,在不中斷LINE服務(wù)的條件下轉(zhuǎn)移運(yùn)行HBase集群的數(shù)據(jù)中心。
由于LINE服務(wù)發(fā)展迅猛,PC服務(wù)器的臺數(shù)達(dá)到數(shù)百臺,急需轉(zhuǎn)移數(shù)據(jù)中心。當(dāng)時(shí),公司使用獨(dú)自開發(fā)技術(shù)進(jìn)行數(shù)據(jù)復(fù)制,而不是使用HBase原有的復(fù)制數(shù)據(jù)中心之間數(shù)據(jù)的功能。中村說:“通過開發(fā)Poll方式的復(fù)制功能,而不是使用HBase原來具備的Push方式,達(dá)到了控制復(fù)制吞吐量(Throughput)等目的。”
復(fù)制結(jié)構(gòu)實(shí)現(xiàn)單純化
第二個(gè)是控制HBase集群名稱節(jié)點(diǎn)(NameNode)的高可用性對策。由于負(fù)責(zé)分配工作的NameNode,通常集群只有一臺,而它一旦出現(xiàn)故障會導(dǎo)致集群中斷運(yùn)行。因此公司使用“DRBD(Distributed Replicated Block Device)”和“Pacemaker”以及虛擬IP(Internet Protocl)地址,對名稱節(jié)點(diǎn)進(jìn)行了復(fù)制。
這個(gè)結(jié)構(gòu)通過使用DRBD,同步實(shí)現(xiàn)冷備份( cold standby) 和熱備份(hot standby),而Pacemaker則監(jiān)控冷備份和熱備份。此外,一旦冷備份出現(xiàn)故障,熱備份會繼續(xù)使用虛擬IP地址,無停止而實(shí)現(xiàn)冷備份和熱備份相互切換。
但是,2012年10月發(fā)生故障時(shí),監(jiān)控服務(wù)器運(yùn)行情況的網(wǎng)絡(luò)出現(xiàn)分?jǐn)啵―ecoupling)問題。由此,發(fā)生冷備份未中斷但熱備份卻自動轉(zhuǎn)變?yōu)槔鋫浞莸那闆r,造成名稱節(jié)點(diǎn)無法正常運(yùn)行。中村說:“Pacemaker用的吞吐量變得非常復(fù)雜,致使運(yùn)行陷入困境。目前,不再使用Linux-HA而是使用更為簡單的方法復(fù)制名稱節(jié)點(diǎn)。”
目前,使用rsync( remote synchronize)同步實(shí)現(xiàn)數(shù)據(jù)的冷備份和熱備份,當(dāng)冷備份出現(xiàn)故障時(shí),集群內(nèi)的各節(jié)點(diǎn)在連接處將冷備份轉(zhuǎn)換為熱備份。這種結(jié)構(gòu)雖然中斷時(shí)間更長一些但運(yùn)行變得更為容易。
第三個(gè)是實(shí)現(xiàn)HBase集群穩(wěn)定運(yùn)行的經(jīng)驗(yàn)。例如,HBase有一個(gè)問題就是,一旦日志文件( Log File)出現(xiàn)堆積過量的情況,會加大整理日志的負(fù)擔(dān)而導(dǎo)致降低集群的性能。中村的工作小組通過調(diào)整集群內(nèi)分配數(shù)據(jù)庫單位“region”的尺寸等辦法解決了這一問題。
世界首個(gè)“多租戶(Multi-Tenant)型基于Hadoop的云數(shù)據(jù)庫”
其他進(jìn)行基調(diào)演講的還有,提供基于Hadoop的云數(shù)據(jù)庫(DWH)服務(wù)“Treasure Data Cloud Data Warehouse Service”的美國treasure data公司的CTO太田一樹。
太田一樹于2011年在美國加利福尼亞創(chuàng)立treasure data公司,他是發(fā)起日本Hadoop用戶大會的成員。太田說:“在參與很多應(yīng)用Hadoop項(xiàng)目的過程中,發(fā)現(xiàn)很多用戶企業(yè)會由于運(yùn)行Hadoop非常困難而選擇數(shù)據(jù)庫產(chǎn)品的情況。因此,決定開發(fā)一種使用簡便的用戶界面即可使用Hadoop的工具,以便可以讓用戶猶如劈柴刀干凈利索地處理大數(shù)據(jù)。”
據(jù)太田說:“Treasure Data是世界上首個(gè)使用多租戶方式提供基于Hadoop的云計(jì)算服務(wù)。”目前,每個(gè)月會增加1000億件record,每個(gè)月處理200萬件工作。70%的公司用戶只用于單純地收集數(shù)據(jù)并制作報(bào)告,少數(shù)用戶則用于存儲大量的數(shù)據(jù)并進(jìn)行高度分析。
因此,Treasure Data公司決定將業(yè)務(wù)放在收集數(shù)據(jù)并制作報(bào)告上(太田氏)。公司特別重視數(shù)據(jù)收集,因?yàn)榇髷?shù)據(jù)的項(xiàng)目方面,有關(guān)收集數(shù)據(jù)的作業(yè)要占全部作業(yè)時(shí)間的60%(太田氏)。
目前, Treasure Data公司使用公司古橋貞之開發(fā)的收集日志工具“Fluentd(屬于開源代碼軟件)”可將數(shù)據(jù)儲存在數(shù)據(jù)庫中。由于Fluentd系統(tǒng)能夠?qū)⒉煌问降臄?shù)據(jù)轉(zhuǎn)變?yōu)镴SON(JavaScript Object Notation,是一種輕量級的數(shù)據(jù)交換格式)形式后再進(jìn)行收集,因此,可以省去進(jìn)行數(shù)據(jù)收集和分析前的準(zhǔn)備工作。
1月21日, Treasure Data透露美國雅虎的創(chuàng)始人楊致遠(yuǎn)是公司的投資人。太田在演講中介紹說:“目前,在美國云計(jì)算業(yè)界中流行著這樣一句話--沉睡的越久產(chǎn)生的價(jià)值也就越多。”無疑,無需運(yùn)行應(yīng)用軟件和中間件的云計(jì)算服務(wù),其市場價(jià)值和重要性正在日益提高。
(日)日經(jīng)計(jì)算機(jī) 中田 敦