成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

近期Hadoop實施心得與總結

開發 前端 其他數據庫 Hadoop
Hadoop實施已經有快一個月了,對Hadoop(1.0.3)的概念理解、使用,Linux 與 Shell腳本,甚至對 Mysql 都有了更多的理解。

Hadoop實施已經有快一個月了,對Hadoop(1.0.3)的概念理解、使用,Linux 與 Shell腳本,甚至對 Mysql 都有了更多的理解。

項目背景:用于互聯網信息收集后的關鍵詞匹配與內容提取。

主要系統架構分為互聯網爬蟲、分析、業務應用三塊:

簡單架構描述

 

由于我在當中的角色主要負責分析架構的搭建,所以其他兩塊都畫得簡單,下面也不會過多的描述。

Hadoop理解:提到Hadoop都想到的是云、分布式計算,在一段時間的實施之后有了一些具體的理解。

Hadoop的優勢:

針對性能指標,當業務數據量總量或增速上升到一定級別,依靠關系型數據庫一定無法支持。對于非關系型數據庫,包括NoSQL和Solr一類存儲方式,稍顯復雜,對于機器集群性能要求偏高(相對于文件系統)。從數據使用模式上來講,目前海量數據的常常是不包含復雜邏輯的簡單統計整理(比如上述系統中的關鍵詞匹配)。這時候文件系統的優勢反而比較明顯(結構簡單,邏輯簡單)。

如上述系統的應用場景是怎么樣的呢,在一個強大的爬蟲系統之下,每個小時的數據增量在G到10G的級別,需要搜索所有的文件,獲取關鍵字的匹配,并且對匹配內容進行摘要。很類似我們windows里面的搜索功能,需要解決的就是如何在這樣增幅的文件系統之下,如何滿足業務系統的需求。

Hadoop logo
 

分析系統有什么要求呢?

○能夠建立集群,分布式的保存數據文件內容(統一控制,可配置)。

  • 有一定的保護機制,保證數據或節點丟失不會影響系統使用。
  • 如果有一個任務腳本執行框架機制就好了(用于并行計算)。
  • 能夠進行節點間的數據均衡。
  • 能夠簡單的查看所有的狀態與日志(web客戶端)

可能主要是這些了。若自己實現,確實是個復雜而龐大的工程,現在我們有了Hadoop。

系統物理架構

我們使用了一臺服務器,利用虛擬化,安裝了7套64x位的CentOS。一個Namenode,6個Datanode,復制數設置為3。每個系統分配到一個cpu,2G內存,Datanode掛載了500G的存儲空間。

理想的Hadoop的搭建環境,參照《Best Practices for Selecting Apache Hadoop Hardware》一文,以及一些其他的文章。

CPU:最好是雙CPU,8核左右。不用太高了。

內存:推薦48G,但是4G應該就可以運行Hadoop了。

硬盤:7200轉的SATA硬盤即可,Hadoop很占空間,所以盡量加。

網絡:內部的數據交換要求非常高,內網最好是千兆網卡,帶寬為1GB。

理想與現實,有錢與沒錢,呵呵。

系統軟件架構

Hadoop:版本使用的是1.0.3,再下來就是2了,為了盡量簡化應用,所以不考慮2的新特性。對Hadoop沒有做太多的設置,基本基于默認。70為Namenode,71-76為Datanode。

JDK:1.6.0_33 (64x)

系統實施過程

HDFS部分:

爬蟲抓取數據,整理后存放在50文件服務器,70以外部掛載的形式讀取。網頁文件比較小,假如直接寫入Hadoop對Namenode負載過大,所以入庫前合并,將每小時網頁整合成為一個文件寫入HDFS,由于區分類別,所以每小時基本寫入10個文件左右,總量在5-8G,耗時在40-50分鐘。(這個過程中,由于爬蟲的IO過于頻繁,導致文件讀取困難,所以做了定時任務,每小時啟動一次,將需要處理的文件先拷貝到臨時區域,合并入庫之后再刪除。此處應該是受到單核cpu的限制,所有操作均是串行,包括拷貝(cp)和合并入庫(java),所以Namenode嚴重建議配置稍高。)

此處沒有太多問題。

MapReduce部分:

寫入完成后,進行分析工作,MapReduce。此處的工作過程為:數據庫定時生成關鍵詞列表文件。Job執行時會讀取列表文件,匹配指定范圍內的 HDFS文件(過去一小時),匹配出對應的表達式與HTML,Map過程結束。在Reduce階段,會將Map的所有數據入數據庫(Mysql)。

此處出現過一些問題,記錄下來。

1. Reduce階段需要加載Mysql的第三方驅動包。我在三個環境測試過(公司、家里、發布環境),使用 -libjars 一定可以,有的地方不需要也可以。不明確,懷疑與HADOOP_HOME環境變量有關。

2. MR過程中使用log4j打印日志,在Hadoop臨時目錄(如果你沒有配置 dfs.name.dir,dfs.data.dir,mapred.local.dir.mapred.system.dir等目錄,這些都會在 hadoop.tmp.dir當中,我就偷懶都沒配置)mapred文件夾中查看一下。

整個過程實際上還是比較簡單的,基本編碼量就在Job的部分,但是一個Java文件就夠了。在目前初級階段應該還是比較好用的。現在還沒有測試Job的執行效率。完成后會繼續記錄下來。有什么問題可以盡量提出。我會繼續關注。

原文鏈接:http://blog.jobbole.com/25060/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2012-03-07 16:58:32

專利

2012-02-01 14:28:03

Java線程

2014-06-11 10:29:03

2009-10-20 10:24:44

綜合布線系統

2009-10-22 14:38:07

家庭網絡布線

2011-08-18 13:57:47

Star Schema

2019-12-20 14:21:26

JVM調優垃圾回收

2022-09-13 12:56:28

前端優化

2009-09-01 15:08:07

C#命名規范

2012-08-27 13:25:41

面試

2018-11-26 08:49:42

CPU排查負載

2012-09-04 13:53:40

面試總結面試經歷

2009-08-28 17:00:50

C# for

2011-11-18 15:18:41

Junit單元測試Java

2021-09-13 07:58:52

考試算法PAT

2011-03-15 11:05:03

2013-07-05 16:37:50

數據丟失故障排查

2012-05-07 10:40:57

阿里巴巴去IOE

2021-06-30 07:51:09

新項目領域建模

2010-02-01 10:15:07

C++ TinyXML
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 性高朝久久久久久久3小时 av一区二区三区四区 | 免费的色网站 | 免费同性女女aaa免费网站 | 日韩精品在线视频 | 99精品视频免费观看 | 欧美在线视频二区 | 在线91| 亚洲免费在线观看av | 欧美福利久久 | 在线国产一区 | 天天操天天插 | 日韩视频在线免费观看 | 亚洲91精品 | 翔田千里一区二区 | 精品一区二区三区日本 | 男女性毛片 | aaa在线观看 | 成人午夜免费网站 | 黄网站涩免费蜜桃网站 | 欧美视频免费在线 | 成人在线观看免费 | www.se91| 欧洲精品视频一区 | 久久夜色精品国产 | 欧美三级在线 | 99这里只有精品视频 | 国精产品一区一区三区免费完 | 久久狠狠| 国产午夜在线观看 | 亚洲一区二区精品 | 中文字幕一区二区三区四区 | av网站在线免费观看 | 中文字幕电影在线观看 | av三级| 国产视频1区 | 中文字幕在线看第二 | 黄色免费在线网址 | 亚洲精品久久久一区二区三区 | 在线观看不卡av | 一级看片免费视频囗交动图 | 日韩色综合 |