== 工作日誌 == === 6/30 === * 完成 HBaseRecordPro.java 還待最佳化 === 6/19 === * [http://gm5.nchc.org.tw/gears/ gears 專題網站] === 6/16 === * 預計投稿題目: ids log parser in cloud computing * 簡介: 由於目前的網路攻擊日漸增多,也越凸顯入侵偵測系統的重要性,然而相對應的警訊日誌也相對增加,對系統管理者是另一種惡夢。傳統的作法是到每一台偵測系統去一一檢視其有無入侵或被攻擊的資訊,但此況日費時、勞心勞力;後來便發展有分散式日誌整合系統,將所有管轄內的警訊日誌全集中在一個資料庫內作整合,如此一來便有巨觀的檢視攻擊資訊,大大的增加管理的方便性與準確性(這是我之前的碩士論文);然而大量的資料集合起來處理和分析對系統而言是沈重且龐大的負擔,且在處理當中發生錯誤則白忙一場,還有當資料庫的資料越來越龐大時,搜尋和檢索都會成為問題,基於以上幾點,預計將分散式日誌整合系統加入雲端運算單元。[[BR]] * 架構 基於以上幾點,預計將分散式日誌整合系統加入雲端運算單元[[BR]] 1. map-reduce:簡化資料處理的複雜度[[BR]] 2. distributed file system:增加資料處理的效率及穩定度[[BR]] 3. big-table:提供高效率的資料庫讀取查詢 [[BR]] * contributions: * 創新性:雲端運算算是很新的領域,有噱頭比較容易上 * 廣泛性:領域跨及資安及分散式運算 * 延展性:利用此題目當作一個雲端的運用,未來說不定可以以此延伸出更多有趣、完整的題目 * 未來性:藉此題目鍊一下雲端運算的功,再向google、或yahoo提出幫他們育才,一來他們的工程師應該醉心於研究寫code,二來育才是我們中心的宗旨,因此若能合作,可開啟無限可能。....(終極目標啦!) ps : 明天要專心來弄gears! === 6/12 === * 持續學習java 以及改寫map-reduce sample code * 將目前手頭正在改寫的檔svn上來 * eclipse 熱鍵篇總覽: {{{ Template:Alt + / 程式碼自動排版:Ctrl+Shift+F 將選取的文字註解起來:Ctrl+/ 視景切換:Ctrl+F8 快速執行程式:Ctrl + F11 // for java 自動匯入所需要的類別:Ctrl+Shift+O //java only 查看使用類別的原始碼:Ctrl+滑鼠左鍵點擊 // java only 最大化程序編輯窗口 : ctrl + m 快迅定位類中的方法 : ctrl + o 顯示打開的文件列表:ctrl+E 全域搜索打開的文件:ctrl+shift+R 打開java的所有class :ctrl+shift+T 將選中的小寫轉換為大寫:CTRL+SHIFT+X 將選中的大寫轉換為小寫:CTRL+SHIFT+Y }}} === 6/11 === * 開發map-reduce 程式碼,已完成:用map-reduce 方法開HBase table, 寫入資料, 運算字符 === 6/6 === [wiki:hadoop_hbase_sample2 map-reduce with hbase sample code] 已解決之前的問題 * 程式說明 :將檔案中的資料用map-reduce方式餵入hbase * 解決方法: 由於檔案讀取時是以行為單位,因此大部分的sample code一行能parser的檔案一行只有兩個欄位,前面的欄位當key,後面的欄位當value,但我想並不是所有的應用都兩個欄位就可以,因此設計一parse三個欄位的程式。也因如此,從程式當中的取出的原始資料流為byte[] 格式,為了利用split()函數切割欄位的值需要把byte[]轉string ,parse 完後再將string 轉回byte[]。錯誤的關鍵在於,當byte[]轉string時用 Byte.toSring()函數,但後來測試發現此函數轉出來的皆為亂碼,亂碼在配合split()就會出現run time error了。故換成 String str = new String(byte);則可以轉出正常,之後string轉回byte則用String.getByte()即可。 * 小發現 : 可以用網頁查看hbase的job 程序 [http://localhost:60010] === 6/5 === 參觀電腦展 === 6/4 === 試寫一 [wiki:hadoop_hbase_error_sample2 map-reduce with hbase sample code] 但有錯誤 錯誤訊息如下: {{{ 08/06/04 18:03:21 INFO mapred.FileInputFormat: Total input paths to process : 1 08/06/04 18:03:22 INFO mapred.JobClient: Running job: job_200805291341_0019 08/06/04 18:03:23 INFO mapred.JobClient: map 0% reduce 0% 08/06/04 18:03:28 INFO mapred.JobClient: map 100% reduce 0% 08/06/04 18:03:36 INFO mapred.JobClient: Task Id : task_200805291341_0019_r_000000_0, Status : FAILED java.lang.ArrayIndexOutOfBoundsException: 1 at tw.org.nchc.demo.DemoHBaseSink$ReduceClass.reduce(DemoHBaseSink.java:63) at tw.org.nchc.demo.DemoHBaseSink$ReduceClass.reduce(DemoHBaseSink.java:1) at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:333) at org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2084) }}} === 6/3 === [wiki:hadoop_hbase_sample1 the sample code 1 : only hbase integration] === 6/2 === ''' Paper Work ''' [[br]] 一直有個想法就是希望能夠在今年以前能寫篇paper來投稿,於是想想 組內發展與grid有關,而之前研究所學的是security, 因此前一陣子找了些Intrusion Detection System vs Grid 相關的paper來看,今天便抽空來看一看 * Towards a Grid-wide Intrusion Detection System * from : Journal of Future Generation Computer Systems , 2007 * A performance Based Grid intrusion detection system * from : IEEE COMPSAC'05 * Design and Evaluation of a Grid computing based architecture for integration heterogeneous IDSs * from : GLOBECOM '07. IEEE 大略看完這三篇,歸類了以下幾點: * 既然有grid,就必定架構在globus之上,因此之間的資料傳輸使用gridFTP,試想是否將gridFTP換成速度更快更穩定的分散是磁碟系統,則效能是否能增加? * sensor , parser 的單元雖然沒有明寫,但我想應該是用snort來作,免費效率又快又不斷更新 * 也許是個common sense,但我覺得每篇的result僅秀出實驗結果但並沒有展現 IDS for Grid 誘人的優點為何? (偵測DDOS命中率?偵測出更多一般host ids無法偵測出的攻擊...) * 要使整個grid有效率的運行必須要有好的dispatch Alg.,因此作這個題目的前提還是得熟悉globus的運作以及排班演算法(完全沒有經驗,糗~~) * 目前真正做出成果的並不多,但有很多篇出自於東海大學楊朝棟老師的實驗室