你想不想利用自己手頭上的現(xiàn)有日常硬件、自由軟件等資源去搭建一個屬于個人的小型數(shù)據(jù)中心呢?
1.硬件
設(shè)計數(shù)據(jù)中心的時候,我們的目標是在每個環(huán)節(jié)上有冗余的時候保持系統(tǒng)最大的可用性,因此,即使有些環(huán)節(jié)不工作了,可影響不會受到影響。
服務(wù)器使用了日常硬件:我們所有的服務(wù)器硬件基于Inter Core i3處理器,16G內(nèi)存和3TB的存儲空間,為了做到最大可用性,設(shè)備共用了硬盤、網(wǎng)卡、路由和交換機。
多UPS和發(fā)電設(shè)備:我們意識到在印度經(jīng)常會停電。我們不能因為停電而犧牲服務(wù)器,因此我們設(shè)置了多個UPS,一個附加的發(fā)電設(shè)備——用來防備USP也撐不住的時候。
多個網(wǎng)絡(luò)專線:雖然有一條專線我們的服務(wù)器和爬蟲就應(yīng)該能7×24小時的工作,但為了防止網(wǎng)絡(luò)中斷,我們做了冗余——來自兩個不同服務(wù)商的專線。
2.硬件監(jiān)控和軟件配置的工具
自動化的安裝、配置和監(jiān)控至關(guān)重要,可以接受日常的維護工作。
自動安裝和配置:Mondo (linux下的ghost)和 Puppet用來完成系統(tǒng)配置的自動化管理。Mondo 用來批量安裝Puppt到裸機,Puppt安裝既定的設(shè)置進行管理和配置。
監(jiān)控和警告: Nagios, Munin and WinPower(伊頓中國|winpower),這些軟件用來監(jiān)控我們的私有云設(shè)備。Nagios 對主機進行頻繁的檢查并通過郵件、短信、聊天工具提出警報,我們通過一個藍牙發(fā)射器連接一個廢棄手機,用來發(fā)送警報短信。
數(shù)據(jù)備份:所有數(shù)據(jù)復(fù)制在多個硬盤上備份。關(guān)鍵數(shù)據(jù)仍然要用一套獨立的外部系統(tǒng)和存儲設(shè)備再備份一次。我們使用rsync配合BackupPC進行每周一次的全局備份和每日的增量備份。周備份按時傳送到外部硬盤上。
3.設(shè)置爬取設(shè)施
我們使用如下開源軟件進行7×24小時的爬取、分布式存儲和工作處理。
Hadoop HDFS:阿帕奇Hadoop 是一個支持數(shù)據(jù)庫分布式處理的開源框架。Hadoop Distributed File System (HDFS)是其使用的主要存儲系統(tǒng),HDFS能夠串聯(lián)一個計算機集群中以極快的速度地為數(shù)據(jù)塊進行拷貝和分發(fā)。
上面提到的Cassandra 非關(guān)系型數(shù)據(jù)庫:阿帕奇Cassandra 是一個開源的分布式數(shù)據(jù)庫管理系統(tǒng)。它被設(shè)計用來通過日常服務(wù)器處理大數(shù)量級的數(shù)據(jù),提供沒有單點故障的高可用性。
Hadoop Map-Reduce :是一個使用簡易的軟件框架,基于它寫出來的應(yīng)用程序能夠運行在由上千個商用機器組成的分布式大型集群架構(gòu)上,并以一種可靠容錯的方式并行處理上T級別的數(shù)據(jù)集。
Pig腳本:“ Pig是一種編程語言,它簡化了Hadoop常見的工作任務(wù)。Pig可加載數(shù)據(jù)、表達轉(zhuǎn)換數(shù)據(jù)以及存儲最終結(jié)果。Pig內(nèi)置的操作使得半結(jié)構(gòu)化數(shù)據(jù)變得有意義(如日志文件)。同時Pig可擴展使用Java中添加的自定義數(shù)據(jù)類型并支持數(shù)據(jù)轉(zhuǎn)換。”
Zookeeper:是Hadoop的正式子項目,它是一個針對大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護、名字服務(wù)、分布式同步、組服務(wù)等。
Apache Nutch :基于Lucene 和 Java的開源搜索引擎,用于爬蟲搜索和索引。
文本處理通過Lucene
4.成本
1)設(shè)備支出:
整個設(shè)施花費了大概一萬二千美元,包括服務(wù)器、冷卻系統(tǒng)、電源組件的價格,我們從當?shù)毓?yīng)商購買,自己組裝,每個服務(wù)器成本控制在了500美元。效率方面從組裝到提供給用戶需要2-3小時時間。(一小時組裝,30分鐘用Mondo恢復(fù)統(tǒng)一鏡像,一小時用Puppt安裝和配置)
日本云專線原生IP必須是獨立的,有些公司提供的加速線路,給你的是一樣共享的IP,很多客戶共同使用一個IP。這個對于運營TikTok賬戶的商家來說是大忌。