2013年12月29日 星期日

回顧2013年展望2014年 - CIO 雜誌Cloud & Big Data

圖片來源:sazzle


又到了一年的尾聲了,以寫Bloge這個專案來說,這個為期一年的sprint也將結束,照例是該來好好做個Review 和 retrospective才對,我想首先應該先來檢視一下去年的成果。

發文數:

2012年  102篇 2013年 105篇  +3 ↑ 

透過Google Analytic 設定單分析2013年最受歡迎文章與類型:

技術類:
  1. (2013)cloudstack 與 openstack 目前的發展趨勢
  2. (2013)Big Data Analytic - Weka vs Mahout vs R
  3. (2012)[筆記] NAT Traversal and Peer to Peer  (這篇上榜真讓我意外~:P)
  4. (2012)同樣都是Message Queue 到底AMQP跟JMS 有什麼差別
  5. (2012)[筆記] 從推薦系統到Apache Mahout
  6. (2013)Hadoop Distributed Cache - 如何讓Map Reduce Job 認得 3rd-aprty Libraries

情報/教學類:
  1. (2012)減肥!!找出讓C槽爆滿的元兇 - 砍掉 Chrome 保留的舊版資訊

 旅遊類:
  1. (2013)[行前規劃] 濃飛巴士定車票攻略
  2. (2012)我心目中理想的訂票網站Skyscanner
  3. (2013)[情報] 到美國短期旅遊(出差)行動上網方案 

訪客來源分析:

  1. Google 搜尋:64%
  2. 直接連結:15% (直接連結的定義真令人好奇~)
  3. 社交網路:
    1. Facebook: 10%
    2. Goolge +:2%
質量分析:
  • 跳出率:82% 這似乎還得在努力?

回顧2013年CIO雜誌預測



除了簡單的檢討數據之外,且讓我也檢視一下去年這個時候的預測文章 - 回顧2012年展望2013年 - CIO雜誌雲端運算十大預測,那時候的"CIO雜誌"的預測如下:

  • Hybrid clouds will take off 
  • Amazon competitors will begin to fall 
    • Well~~競爭者是還沒倒,但是都還苦苦追趕著,如GCPAzure...
  • Hybrid cloud management becomes key  
  • Cloud brokerages and integration hubs will explode 
  • Big Data gets bigger  
    • 無庸置疑的,仍然火熱的Big Data,明年會喊啥呢?Real Time Query元年?XD
  • Software defined networking (SDN) becomes mainstream 
    • SDN是Cloud的最後戰場,也越來越多小廠跳出來準備挑戰Cisco....
  • Hybrid cloud security options will increase 
    • 沒想到我2013下半年真的開始做Security相關的議題...不管是Authenication、Encryption、Key Managment... 等。
  • IaaS-based services will expand
    • 沒錯,IaaS大廠除了傳統虛擬化外,都陸續提供越來越多API and Management Service,看看AWS和 GCP的艦隊就知道了...
  • Outages will occur 
  • Gamification will drive sales and customer service
    • 任何平台和服務的崛起都必須融入遊戲的概念,我想Line和WeChat應該也是成功的代表作?

 展望2014年CIO雜誌預測


雖然說Big Data 和 Cloud在某種程度上是相輔相成,但是我覺得還是應該要把這兩個分題目該來看,剛好CIO雜誌也是針對這兩個題目分別做預測。

12 Big Data Predictions for 2014

  • People Stop Saying Big Data and Start Meaning It
  • Hadoop Moves From Curiosity to Critical
  • Businesses Get Proactive by Leveraging Customer Data
  • Big Data Brings Its 'A Game' in Marketing
  • Modern Analysts Matter More Than Data Scientists
  • The Internet of Things Will Evolve into the Web of Things
  • From Big Data to Extreme Data
  • R Replaces Legacy SAS Solutions and Goes Mainstream
  • Hadoop Will Power Real-Time Tailored Applications
  • Time for Hadoop to Get Some Enterprise Hardening
  • One NoSQL Database Company Will Hold a Successful IPO by the End of 2014
  • A New Analytics Stack Will Emerge
看起來沒有太多驚人的預估,大多是已經正在進行中的狀態,除了R要真的夠熱門和夠好用到讓一般商業分析人士取代SAS,還有令人值得追蹤的就是Hadoop 或是 NoSQL陣營將可能會有公司上市...(我猜MongoDB?)

10 Cloud Computing Predictions for 2014

  1. More Businesses Will Become Software Companies
  2. Application Developers Will Become More Important
  3. Application Workload Placement Decisions Will Continue to Shift to End Users
  4. Private Cloud Will Have Its Moment of Truth
  5. Cloud Brokerage Will Come Into Focus
  6. AWS Will Continues Its Torrid Pace of Innovation
  7. Google, Microsoft Will Get Serious About the Cloud 
  8. The Importance of Ecosystem Will Become Clear
  9. VMware Will Realizes vCHS Is Critical to Its Future
  10. A Pricing Bloodbath Is Coming to the Public Cloud
在Cloud Computing的預測方面也沒有太令人驚訝的地方,唯一值得再深入探討的就是關於VMware的vCHS,因為這是VMware在Public Cloud與Prive Cloud 夾擊下,產生的獨特business model,這有機會再來好好討論我的觀察。





2013年12月24日 星期二

MPTCP (Multi-path TCP)


圖片:MCTCP

Multi-path TCP 



前一陣子聽到Citrix 來介紹他們的產品,其中特別強調到Netscaler有提供MPTCP的支援,而且iOS 7 現在也都支援MPTCP,所以公司內部應該有提供這樣的設備...不拉不拉,此外電信商知道他的3G網路頻寬不夠,所以會希望你多用WIFI,所以像中華電信就有提供利用Sim卡的認證機制,讓使用者的Iphone偵測到有WIFI時可以自動登入,這就讓我好奇了,到底什麼是MPTCP?

簡單來說 MPTCP 就是提供無間斷的Romaing的Protocal,根據wiki解說的好處:

The redundancy offered by Multipath TCP enables inverse multiplexing of resources, and thus increases TCP throughput to the sum of all available link-level channels instead of using a single one as required by plain TCP. Multipath TCP is backwards compatible with plain TCP.
Multipath TCP is particularly useful in the context of wireless networks [1] - using both Wi-Fi and a mobile network is a typical use case. In addition to the gains in throughput from inverse multiplexing, links may be added or dropped as the user moves in or out of coverage without disrupting the end-to-end TCP connection.

也就是說如果 Wi-Fi 的連線品質不佳,甚至是斷線了,在以往,這次的資料傳輸作業,應該就得要重新來一次,現在運用 Multi-Path TCP 之後,Wi-Fi 的連線品質不佳時,系統會自動找比較目前理想的連線(如 3G),繼續傳輸作業,不讓資料傳輸中斷。當然,在有 3G、Wi-Fi 與有線網路的電腦上,如果能運用這種技術,則連線品質將有所提高。



Reference:
[1] Maximize mobile user experience with NetScaler Multipath TCP
[2] Multi-Path TCP 讓您的網路連線品質更好

2013年12月23日 星期一

關閉Network Level Authentication 讓FreeRDP 或 CoRD 可以連Window2012



記錄一下沒想到還有機會要用到Windows 2012,話說現在都是用Mac或Linux 在開發,所以比較方便的作法還是透過RDP的方式去連到Windows Server,而常見的RDP Client有以下幾個:

但是如果使用非官方的Client連線,如FreeRDP or CoRD,就會發現怎樣都無法連進去,上網Google以後才發現,要從控制台進入,把Allow connections only from computer running remote Desktop with Network Level Authentication 關掉,這樣FreeRDP 或 CoRD 就可以連Window2012





Reference:
[1] Configure Network Level Authentication for Remote Desktop Services Connections
[2] RDP for Mac: Best remote desktop clients


2013年12月22日 星期日

[書摘] 精準預測 - (1)


如果要了解這個作者,建議可以先看作者在TED也有演講:納特希爾弗:種族背景會影響選票嗎? ,可以對這位作者有個初步了解。

話說討論Big Data 通常會以 4V (Volume、Velocity、Variety、Veracity) 的面象來檢視,而精準預測這本書我覺得應該屬於在討論Veracity(真實性)的範疇,正如書名的副標題,如何從巨量的雜訊中看出重要的訊號。我們如何才能把我們的判斷運用到資料上,又不致於屈服於自己的偏見?整本書的核心問題就是 - 預測,如何做出更好的預測?

這不是一本在對於Big Data 歌功頌德 - Big Data 怎麼改變世界,怎麼幫你賺大錢的書,這是一本科普的書,是本告訴我們在大學時期所學的機率 、統計..等學科到底是怎麼用在真實的世界做預測。
 

 圖片來源:In Data We Trust


如同In Data We Trust 這篇文章裡說的,利用Data 在做任何預測前,都應該先問幾個問題:
  • What is (are) your hypothesis(es)?
  • What are your biases?
  • What is the sample size?
  • What is the data source?
  • How good are your customer measures?

第一章 - 慘烈的預測失誤


以2008年金融海嘯房事泡沫為例,解釋無視錯誤的假設,使用錯誤的方法,如何造成慘烈的預測失誤。
未知而不自知 (unknow unknow)的危險,也就是那些我們根本察覺不到的風險。而比這更大的威脅,可能只有哪種我們以為自己可以控制,卻控制不了的風險。在後者的狀況中,我們不只愚弄自己,我們錯誤的信心更可能會膨脹,以評等機構而言,錯誤的信心更感染了整個金融體系。 [可能出錯的是和不可能出錯的事,兩者之間最主要的差別在於,不可能出錯的事一旦出錯,結果常常讓人搞不清楚狀況,無法修補]                                                                                            - p41

第二章 - 你比電視名嘴還聰明嘛?


跟股票預測一樣,所謂的政治預測名嘴,其實跟猴子設飛鏢的結果是差不多,但是這代表真的不能預測嘛?作者在這個章節舉出兩種分析預測家的人格:
  • 刺蝟 [獵人] - 相信偉大的想法Big Idea,相信可以用一個類似物理定義的自然法則預測分析所有事
  • 狐狸 [採集者] - 相信許多小想法,對問題會用各式各樣的手段來處理,他們比較能包容細微差別,不確定性,複雜的局面和異議。

而節目比較愛的名嘴幾乎都是刺蝟,而真正能預測準確的卻往往是狐狸,那什麼是狐狸的思考原則?
  • 用機率思考(不管是政治還是其他領域都是機率,沒有絕對數字只有可能範圍)
  • 今天的預測就是你餘生的第一個預測 (事實改變的時候,就該改變想法)
  • 尋求共識 (刺蝟都愛說出大膽出戶意料的預測,其實根據證據顯示:集團預測比單獨預測準確 - 檢視多元觀點)

第三章 - 我在乎的只有輸贏


本章節算是"魔球"這本書發表之後的後續Update,老實說我不太看棒球,也不太了解,但是至少看過魔球的電影,於是在腦袋終究留下刻板印象,這是球探與統計專家的戰爭,可能越來越多老球探工作不保,但真的是這樣嘛?

其實魔球出版後的十年,從2004年紅襪隊在相隔86年之後贏得第一次世界大賽冠軍,就是同時注重統計與球探的融合方式。

此外這個章節也解答了我一個問題,為什麼棒球比較容易透過統計機率預測:
棒球提供的資料集也許是全世界最豐富的:過去一百四十年來在大聯盟球場上發生的事差不多全部都有人見則而精準的記錄下來,每年在大聯盟還有數百位球員在打球。同時,雖然棒球是團隊運動,但是棒球又是用非常有條理的方式進行:投手輪值投球,打者案打擊續輪流,他們要位自己大部分的統計數字負責。比較少會牽涉到複雜性與非線性的問題,要理出因果關係比較容易。

不過因為不愛看棒球,所以看到這張真的沒啥fu~:P

第四章 - 多年來你一直告訴我們雨是綠的


這章節在講氣象預測,首先先引用拉普拉斯假設(Laplace's Demon):
我們可以將宇宙現在的狀況,是為過去的果與未來的因。有智慧的人在某個時間會知道所有推動自然的力量,還有構成自然所有物體的位置,如果人的智慧大到足以將所有這些資料拿來分析,那麼就能把宇宙最大的星體和最小的原子所有的運動包含在一條單一的公式裡,對這樣有智慧的人來說,沒有什麼是無法確定的,而未來就如同過去,在他眼前一如現在。
而如同量子物理學家所證實,人類試辦不到的,我想也唯有神才辦的到~:p 不過氣象卻是在分子發生的Level 不是在原子(量子物理層次),所以稍稍的修改拉普拉斯假設的話是可以達到的,這也就是現在氣象預測嘗試在做的事。

氣象分析就把從真實世界觀測到的數據(除了三為空間+ 時間),以矩陣的方式來加以運算,而電腦隨著摩爾定律也越來越快,為什麼預測氣象仍然這麼難呢?因為混沌理論:
  • 系統是動態的 - 這表示系統某個時間點的行為表現會影響其未來的行為表現
  • 系統是非線性的 - 這表示他們遵守的事等比級數的關係,不是等差的關係。
因此光是收集資料的小數點位數的差異,可能都會引起預測的差異(蝴蝶效應),每個階段輕微的錯誤數據,在等比級數的威力下,將會越錯越離譜....

這也解釋了我們對於天氣預報的疑問:如果氣象預報員說明天降雨機率40%,解釋這句話的方式之一就是在他的各次模擬中,有40%出現風雨,而其他60%(用的是稍稍不同的初始參數)則沒有。

此外預報員另一個武器就是視覺化的圖表+ 經驗,可以彌補電腦的不足或過於保守的預測,就算隨著電腦越來越進步,這些預報員的經驗可以讓降雨量預測改善25%,溫度預測10%。

有趣的是氣象是科學預測成功的故事,而且還是比較例外的例子,不是常態....囧rz..



這本書真的又厚又硬...:P

To be continued....





發現台灣 - 從身旁的彩繪電箱

圖片來源:Joice


前一陣子有一個新聞,彩繪變電箱 台畫家紅到瑞士,內容如下:
南投素人畫師邱瑞金畫了半世紀的電影看板,數年前改接台電變電箱彩繪工作,繪製的瑞士山景讓來台洽公的瑞士伯恩山岳博物館館長大為驚豔,邀其繪製博物館外牆及伯恩市區的變電箱。上個月邱瑞金前往瑞士終於看到他筆下那座山的真面目,首度出國的他開心說:「沒想到畫變電箱能紅到國外,太奇妙了。」
我相信這則新聞可能很多人都沒看過,也很快的淹沒再最近一連串的爆料新聞中,像這種我們身邊隨處可見的事物,有多少是我們關心?又有多少被我們忽略或遺忘?直到被爆料....


其實在還沒有開始玩Ingress之前,根本就不會特別去注意身旁的這些變電箱,甚至還會跟這篇文章 台電變電箱~街頭藝術 or 危險勿近的作者一樣覺得畫的醜醜的假假的,不過也是有一些人覺得因為這些彩繪讓市容變美麗了: 最近在台北街頭,發現變電箱變可愛嚕~變電箱上的藝術創作....等。

不過我也是直到開始玩Ingress才有所改觀,話說這個遊戲就是要我們去探索我們的周遭世界,甚至有一個機制是讓玩家建議某些特殊的地點值得設立為Portal 的點,通常官方建議的點如:廟宇,歷史建築物,圖騰,雕像,或是公共藝術。

而彩繪電箱就被歸類為公共藝術!我們發現彩繪電箱是只要申請通常一定會通過的點,想當初我也覺得Niantic Lab (發明Ingress遊戲的組織,隸屬於Google)或是老外怎麼這麼奇怪,這麼偏好彩繪變電箱,只要申請幾乎都會通過?這種東西有啥稀奇?後來發現因為其實在國外這就是一種街頭藝術 - 12款變電箱塗鴉,平凡變電箱也要跟上街頭潮流風!,大概就是這個原因所以才很容易通過吧?所以現在台北市越來越多變電箱的點...XD





所以漸漸的我也開始更留心注意我們周遭的變電箱,不注意則矣一注意起來就一直想挖下去,還真的挖出許多有趣的資料,接下我要問幾個問題,看看大家知道多少:
  • 大家知道光是全台北市有多少個這種箱子嘛?
  • 大家知道電箱的種類有幾種嘛?
  • 還記得什麼這些彩繪電箱是什麼時候開始出現的嘛?
  • 大家知道這些電信箱的設置政府有收錢嘛?

1. 這些箱子至少有四種:
  • 中華電信交接箱
  • 台電的變電箱
  • 交通號誌控制箱
  • 自來水處壓力監控箱(台北好水)
2.各大縣市有多少變電箱呢?
  • 台北市
    • 台電在台北市還有9156座變電箱
    • 中華電信也有2561座交接箱 (新聞)
    • 交通號誌控制箱有2452個,卻其中只有371個做過美化(議會新聞)
  • 高雄市
    • 現有17658個變電箱,其中有2600多個設在人行道上 (工部門講稿)

3. 彩繪電箱的緣由:
4. 一個電信箱的設置地方政府會收歸費:

5. 因為彩繪變電箱也是要經費的,其他縣市相對起來就沒有那麼多經費,一來彩繪數量比定受限,二來必須考慮用其他方式來美化變電箱:

6. 彩繪電箱美化的方式主要有三種(台電官網)
針對影響道路景觀最大的變電箱,台電積極推動美化作業,大致分為「油漆」、「彩繪」及「木柵圍籬」等3種,為確保供電設備正常運轉,並考量用路人權益,設備主要以小型化及油漆美化外觀為主;「彩繪」係為改善市容視覺,配合縣市政府規劃及地方特色辦理;「木柵圍籬」少量配合地方機關由公司襄助(如花博)辦理

最後發現,其實各縣市的彩繪內容都根據不同發包廠商不太一樣耶,這邊找到一個Bloger 他本身就有參與花蓮的彩繪電箱,而且話的好漂亮 - 台電彩繪電箱-1,節錄內容如下:

透過一些因緣際會,讓我有幸與饒國銓老師參予花蓮吉安鄉台電電箱彩繪工程!算一算,總共有23座基地,共63個電箱,分別座落於中央路、吉安鄉中正路一段及中山路!圖案是建商選定的,一開始心想,不用傷腦筋設計圖案了,誰知,當拿到圖案時,整個人愣住了:不知道圖案哪裡來的,全是繪本式的圖案!連饒老師看了都搖頭!畢竟要用油漆塗在立體的電箱上,重點是,建商要求99.999%像!差一點沒哭出來!但是答應的事還是要做啊!
   接著就和饒老師逐一確認電箱位置、大小及周邊環境,然後選定合適的圖案,花了一些時間討論,等所有事項確認無誤後,就開始展開"電箱彩繪"之旅囉!

(PS. 因為Yahoo Bloger要關站了,怕以後看不到,所以直接引用一些小小宋的圖片還請見諒~:P)






留心周遭的小事,只要有心仔細挖下去,真的可以發現續多有趣的小故事...


2013年12月18日 星期三

[筆記] Kerberos Authentication with SPNEGO




SPNEGO 

如果要開發使用Kerberos認證的Web Application,那就一定要了解SPNEGO這個認證機制,SPNEGO 全名叫做 Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO), often pronounced "spen-go",根據Wiki的描述:

SPNEGO is used when a client application wants to authenticate to a remote server, but neither end is sure what authentication protocols the other supports. The pseudo-mechanism uses a protocol to determine what common GSSAPI mechanisms are available, selects one and then dispatches all further security operations to it. This can help organizations deploy new security mechanisms in a phased manner.

參考上圖整個SPNEGO 的流程如下:

  1. Client Web Browser does HTTP GET for resource.
  2. Web server returns HTTP 401 status and a header: WWW-Authenticate: Negotiate
  3. Client generates a NegTokenInit, base64 encodes it, and resubmits the GET with an Authorization header: Authorization: Negotiate .
  4. Server decodes the NegTokenInit, extracts the supported MechTypes (only Kerberos V5 in our case), ensures it is one of the expected ones, and then extracts the MechToken (Kerberos Token) and authenticates it. If more processing is required another HTTP 401 is returned to the client with more data in the the WWW-Authenticate header. Client takes the info and generates another token passing this back in the Authorization header until complete.
  5. When the client has been authenticated the Web server should return the HTTP 200 status, a final WWW-Authenticate header and the page content.

有實作SPNEGO 相關的專案
  1. safe 
  2. Alfredo
  3. sourceforge - spnego
  4. spring-kerberos


Reference:
[1] Introducing Alfredo, Kerberos HTTP SPNEGO for Java

2013年12月17日 星期二

Best Practices for Amazon EMR - S3 vs HDFS



前陣子在看Amazon 出的 white paper:Best Practices for Amazon EMR 的文章時,剛好看到這段 - Data Aggregation Best Practice ,剛好講到在跑MapReduce 使用S3 和HDFS會有怎樣本質上的差異,剛好拿來當做我之前寫的 Object based storage or block device storage 的最明確的實際應用案例。

2013年12月16日 星期一

New Techs of Hadoop 2.0: Tez, Stinger, Knox & Falcon (3)


圖片來源:Hortonworks - Falcon


這篇應該是這系列的最後一篇, 老實說,當天Jeff 講到Falcon和Knox的時候時間已經不多了,所以講的很快很多細節的部份都跳過了,而且這兩個專案也的確很新,能見度相對低,也讓我花了不少時間去研究。(謎之音:其實你也是抄官網的內容,大家去看官網不就好~)

Falcon

Falcon這個專案是由一家叫做InMobi 這間公司貢獻的,截至目前為止(2013.12.15)仍是Apache incubator 中的新專案而且尚未GA,,那Falcon當初開發的目標是什麼呢?想要解決怎樣的問題?

其實就像目前許多廠商在問的問題,當你有了那麼多資料儲存在HDFS以後,然後呢?該怎麼管理和使用?到底哪些資料需要做Replicate? 哪些其實用完就真的可以砍掉?那多久要砍掉?


2013年12月15日 星期日

如何避免Blogger或網站被spam site攻擊


圖片來源:陰屍路/網路

今天下午短短的時間內Blogger流量又突然暴量,想說哇~Hadoop 2.0系列的文章大家那麼喜歡啊?結果又是被Spam site攻擊,而且是超級中火力攻擊,不知道是不是隨著拜訪人數增加,就連被Spam site攻擊的次數和量也越來越多,而且明知道不應該再連過去那些網站,但是有時候就會手滑過去看看這到底是啥網站(作者狀態顯示為被釣魚掉中貌...Orz..)


這次終於受不了上網搜尋了一下發現超多受害者,而且被攻擊後(如果又手賤點回去的話),這個網站就會更加變本加厲的攻擊,到最後甚至會影響網站在Google的Rank。


最後我找到這篇文章 - How To Disavow Links In Google Webmaster Tools ,教我們用Google Webmaster Tools來Block 這些spam site。


1. 編輯一個要禁止的domain list,如下圖所示





2. 透過Google Webmaster tools 的 Disavow tool 功能來提交這個清單。


提交前,系統還會請你再次確認


按下禁止連結,會彈跳出一個視窗,然後就把剛剛編輯的檔案上傳


就讓我觀察觀察...還會不會被殭屍大軍攻擊....=_=凸


New Techs of Hadoop 2.0: Tez, Stinger, Knox & Falcon (2)

圖片來源:Hortonwork -stinger

延續上一篇介紹YARN和Tez,這一篇主要是要介紹Stinger,其實在官網的資料就非常詳盡的,Jeff的介紹就算是幫我們大家導讀一遍。

Stinger  


當初在Survey real time query 的相關技術時,就有聽到Stinger這個名字,以為又是一個Hortonwork推出的新Apache 專案,類似於Amplab的shark、Cloudera的Impala,Apache的Drill,所以也沒有仔細去研究,不過在經過Jeff的解釋之後才了解到,這只是一個計畫的名稱,並不是一個新的軟體專案,在這邊Jeff特別提到Howtonwork的哲學,不像其他公司都要自己建造一個新的SQL like query 產品,但是Hortonwork 覺得應該直接改善提昇Hive的效率,讓大家原本就在使用Hive/Pig 人不用學習新的語法,讓Based on hive/pig 開發的系統可以無痛升級繼續使用。他們深信善用open source 社群的力量,比自己浪費人力重新找幾個工程師重新寫一個SQL like query 好多了。

2013年12月14日 星期六

New Techs of Hadoop 2.0: Tez, Stinger, Knox & Falcon (1)



Tcloud 這次很榮幸請到Hortonworks 亞太區Technical Director Jeff 來台灣演講,這次他分享的題目是Hadoop 2.0 - Tez, Stinger, Knox & Falcon,Hadoop 2.0 GA 也已經一段時間了,但是到底有做了怎樣的改變呢?常常聽到Hadoop 2.0 產生了許多新名詞和新的子專案,到底有哪些,個是什麼意思?現在正夯的Real Time Query Solution對於Hadoop 2.0 會有有什麼影響?....我們有很多問題,而Jeff 這個Talk 的確解答了我們很多的問題,且讓我分成幾個篇幅來分享我所聽到與了解的內容。


2013年12月13日 星期五

如何註冊 Hortonworks Certified Apache Hadoop Administraotr / Developer 考試




既然都已經努力在學習使用Hadoop,身為最愛考照的台灣人不免俗的似乎也該來考張證照?

在之前就只有一個選擇,就是只能考Cloudera 所推出的一系列認證 CCDHCCAHCCPCCSHB ,而且所費不貲每一個認證都要價295美金!!
(有興趣的還是可以參考這篇:How to ace Cloudera CCDH and CCAH in CDH4)

不過在這邊要告訴大家一個好消息,現在又多了一個選擇,Hadoop 的另一個大廠Hortonworks 也推出他們的認證了,目前主要是HCAHDHCAHA 這兩種認證(Administrator 和 Developer),不過由於Hadoop 2.0 也已經正式推出了,所以預計在12月就會分別有 1.0 和 2.0 兩種的證照考試,而且考試金額只要150美金唷! 同樣是要考證照和不選擇便宜一點的~XD


那就讓我們來看看該怎麼註冊Hortonworks 的認證考試吧,首先從官網進入,選擇Hadoop Certification的連結,進到這個頁面後選擇Get Certified Now



第一次使用請先Create New Account,然後再Login



Login 後可以看到介紹考試內容的頁面,畫面往下啦,點選Register for a new assessment。




來到assessment這頁,可以看到預設展開的有免費的模擬考讓大家試考,但真正的考試要把"+"點開才看的到。


目前Administrator 還只有1.x 可以考,但是Developer 已經有2.x了,這邊要注意的是考試有兩種:
  • Onsite 到官方認可的考試機構考試(建議選擇這個)
  • Online 根據官網的教學步驟,安裝對應的軟體和WebCam 來考試

在這邊建議選擇On site 比較簡單


選擇Onsite 之後,接下來就是要選擇考場,目前台灣就只有一個在台北市復興南路的資策會考試中心可以選擇。



選擇完考試地點接下來就是要選擇考試時間(因為選考試中心所以只有上班時間可以選擇)




當時間地點都選擇好之後,接下來就是真的要進入付錢的階段啦~



4.5張小朋友轉眼就要飛啦~




恭喜到了這步,就代表一切註冊完成,要注意在這個頁面最重要的資訊就是Test Taker Authorization Code 這是飛走了4.5個小朋友換來的,請妥善保管。




另外工商服務一下,目前Hortonworks 大中華區的認證培訓課程是由TCloud 獨家代理,有興趣的朋友歡迎詢問 (謎之音:不過目前只有在大陸地區有開課....台灣..看需求)

2013年12月6日 星期五

同樣的台南不同的旅行

圖片來源:台南觀光(官網)



旅行,同樣的地點,但是隨著不同的時間,有著不同的年齡,不同的同伴而產生不同的心境。而搜尋旅遊情報的關鍵字也會隨著不同年齡而改變,年輕的時候可能會用以下關鍵字:




結婚生子以後可能就會問:

甚至開始玩Ingress後可能就會問,台南有哪些Portal 可以打(誤)。



這樣的開場好像在騙版面一樣.....:P

但是我所要表達的事,每次的旅行都會有一個主題和主軸,而這次呢?

主要是為了測試兩個月大的游小貝出去玩會不會乖。(這對父母真是心急XD) 剛好前一陣子為了用完天下文化選書的Quota 無意間看到了這本書台南日和,老房子小旅行 ,老實說內容我沒看過,但是他的目錄就吸引了我,那這次就按照這個目錄去玩如何?所以我就依照這個目錄把所有店都製作連結:(因該沒違反著作權法吧?@@)

台南過生活一日,府城時間


【早晨,從味蕾開始】 (嗯~帶小孩可以去的地方~)
巷弄裡的木作植栽天地:木木之丘
玩味和洋老家具:鹿角枝
老屋中的brunch況味:FILM 茀立姆
洋溢生活感的溫馨老屋:卡加米亞咖啡
轉角開窗,看見綠:CAFE LOFT 13 咖啡樓閣
感動老社區的西式輕食:House coffee bar

【午後,品茗慢時光】(怎麼那~~麼~~多~~咖啡廳~:P)
府城老屋裡的港式情調:人拿咖啡吧
歇腿,在海與陸地的交界:正興咖啡館
微風徐徐,咬一口幸福的滋味:順風號
沐浴藝術下的午茶時光:B.B.ART
沉浸在閱讀的喜悅裡:小說咖啡聚場
冰淇淋老工廠的法式風味:1982法式手工冰淇淋實驗室
趴趴走旅人中繼站:?咖啡.暖暖蛇工作室∕Cafe Flaneur
藝術沙龍裡,來一杯有溫度的咖啡:兩倆
品茗一壺京都小調:衛屋茶事
紅瓦屋內的靜好歲月:舊烘爐
午後,來碗古早味甜湯:慕紅豆
重現昭和時光的洋?子店:Kadoya 喫茶店
窩在書本圍繞的溫柔時光中:賣飲料 My Beverages

【饗宴,以時光佐餐】 (民以食為天...試試看有別於傳統台南美食?)
通往深海的奇幻世界:134巷內的女巫’s
歹日重生的美好:十八卯茶屋
個性主廚老屋上菜:老家創意料理a la maison (facebook)
會呼吸的美味廚房:安平後巷 (facebook)
道地台南味,旅行中:小西門時光驛棧
在阿嬤的三合院裡開燒烤趴:老厝1933

【晚安,入住歲月流光中】 (很難預約又不太便宜的民宿...Orz..)
歡迎光臨,森林系女孩:轉圈圈
收藏日光的老房子:曈Sunrise Bed&Space
綻放藝術花朵的混搭老屋:8又二分之一藝術旅店
小隱隱於里,在眷村裡過一晚:復興路。小隱
一夜好眠,在藏著夢想的秘密基地:老曼船長
隱居中,老巷弄間的藝文空間:浮游咖啡;木瓜屋
住老屋,也可以很舒適:油行尾
當法式優雅碰上古城慢調:有方公寓
陪妳到天明的私密空間:佳佳小南天 (Agoda)

【夜未央,微醺星空下】(兒童不宜的bar...這次還是pass吧..XD)
藏在深處的放鬆酒吧:後面還有Bar
穿越時空的自由國度:Free Will
在府城的夜,前科累累地狂放:T.C.R.C.
潮男潮女的潮遊地:萬昌起義
豢養著鍾愛事物的老巢臼:KINKS
午夜,沉醉在解構主義裡:The Bird
愛上七○年代普普風:HIVE bar


就看看這次會去哪些地方呢?


2013年12月5日 星期四

關於 Libvirt Event Registration for Java Binding 的碎碎念


使用Opensource 讓人又愛又恨的就是遇到bug和問題,通常到最後只有三種路:
  1. 回報社群等人修好  (但是通常會等到天荒地老~~~老闆請你來是做啥的!)
  2. 翻Mail list看以前有沒有人解決過,或有什麼建議  (Hello~~有"沒有人"遇過或修過~~)
  3. 看source code 然後自己下去patch (我也想當沒有人,但是往往能力不足...Orz..)

話說 Libvirt 雖然有提供Event Registration 的機制和 Java Binding 的Library,但是兩的湊在一起就是不work啊!!

一跑下去就遇到以下錯誤:

libvir: Remote Driver error : adding cb to list
exception caught:org.libvirt.LibvirtException: adding cb to list
level:VIR_ERR_ERROR
code:VIR_ERR_RPC
domain:VIR_FROM_REMOTE
hasConn:false
hasDom:false
hasNet:false
message:adding cb to list
str1:%s
str2:adding cb to list
str3:null
int1:-1
int2:-1


一路Trace source code 往下,到了JNA那一層就斷了...囧rz...只好上網看看有沒有人遇到這個問題。

首先看到的就是Redhat 的bug report:
再來 OpenStack 目前也有遇到這個問題:

然後看到有人說要使用Event Registration 前,要先初始化 (不過舉的是C和Python的範例)

Make sure you have registered in the libvirt event loop (or set up your own) before registering for events


最後從Libvirt 的mail 爬出一連串的討論:


Ps. 2013 版的那個Patch 有在Github上找到,但是試了一下還是有問題....


所以其實這是一篇碎碎念文,因為結論是目前Java Binding 無法支援這個功能,除非自己跳下去把它改好.....


2013年12月3日 星期二

Libvirt 開發前須知資料整理

source:wiki


開發前須知


Linux 最恐怖的就是軟體和Library 的版本相依性,以及要了解哪些事穩定的版本,哪些是實驗版本 。而Libvirt 就是魔王等級的,又複雜文件又不清楚,要注意的除了OS版本,libvirt 版本,以及相對應的hybervisor 版本....最後很多東西都得再程式和mail list 裡面挖出來

Libvirt Stable version


0.9.6.x—>0.9.11.x—>0.9.12.x—>0.10.2.x—>1.0.5.x—>1.1.3.x

CentOS 6.4 使用 0.10.2.x 的版本
Mac OSX 使用Brew 安裝的版本是 1.1.4

如果要使用Java Binding 來開發Libvirt 這邊也有版本需要注意(git repository)
Java Binding —> Libvirt version

0.4.7.x —> 0.8.2
0.4.8.x —> 0.9.12
0.4.9.x —> 0.10.2.x
0.5.x —> 1.1.x

相關開發文件


Host 設定


1. 設定遠端管理機制:Remote support (Connection)

2. 測試連線機制 (Connection URIs)

So to connect to the daemon, one of two different URIs is used:

   * qemu:///system connects to a system mode daemon.
   * qemu:///session connects to a session mode daemon.
   * qemu:///session                      (local access to per-user instance)
   * qemu+unix:///session                 (local access to per-user instance)
   * qemu:///system                       (local access to system instance)
   * qemu+unix:///system                  (local access to system instance)
   * qemu://example.com/system            (remote access, TLS/x509)
   * qemu+tcp://example.com/system        (remote access, SASl/Kerberos)
   * qemu+ssh://root@example.com/system   (remote access, SSH tunnelled)

[Update] 2013.12.05

如果使用Mac OSX 安裝Libvirt 去連KVM 會出現以下錯誤訊息:

Connecting to the server will result in an error : "hangup / error event on socket".

It turns out that the macosx client assumes the socket resides in /usr/local/lib whereas the ubuntu server has the socket in /var/run/libvirt/libvirt-sock .

請改用下面的方式連線:

> virsh -c qemu+ssh://root@libvirthost/system?socket=/var/run/libvirt/libvirt-sock

[參考連結]


PS1. 如果利用Libvrit  無法透過API 把 qemu+ssh 所需要的 password 帶過去[Referecne-link]

As I said before, the auth callback you can pass to virConnectOpenAuth
is not used for the libvirt SSH remote transport authentication. The
same it true for the TCP transport, it uses SASL for authentication by
default.

PS2. Java Binding 其實有很多功能都沒有implement

Known api calls to be missing
 * LIBVIRT_0.1.0
 * virDefaultErrorFunc
 * virConnCopyLastError
 * virFreeError
 *
 * LIBVIRT_0.4.2
 * virDomainBlockPeek
 * virDomainMemoryPeek
 *
 * LIBVIRT_0_5.0
 * virEventRegisterImpl
 * virConnectDomainEventRegister
 * virConnectDomainEventDeregister
 *
 * LIBVIRT_0.6.0
 * virConnectRef
 * virDomainRef
 * virNetworkRef
 * virStoragePoolRef
 * virStorageVolRef
 * virNodeDeviceRef
 *
 * LIBVIRT_0.6.1
 * virFreeError
 * virSaveLastError
 * virDomainGetSecurityLabel;
 * virNodeGetSecurityModel;
 *
 * LIBVIRT_0.6.4
 * virInterfaceRef
 *
 * LIBVIRT_0.7.1
 * virSecretRef
 *
 * LIBVIRT_0.7.2
 * virStreamRef
 *
 * LIBVIRT_0.8.0
 * virNWFilterRef



2013年11月21日 星期四

Google Cloud Platform Workshop 小記

(在這邊要感謝 Jazz大大辛苦的主辦,以及神通提供場地)



話說自從寫了- 初探 Google Cloud Platform - 1. Create instance 後,號稱要寫的第二步 Login Instance 的文章都還沒寫,而且也沒時間去把之前的疑惑解開,趁著今天參加 Google Cloud Platform Workshop 想說應該可以解決部份的疑惑。

在這邊把筆記整理一下跟大家分享 (筆記的準確度根據理解程度可能有誤還請見諒~:P)

一開始是在介紹Google 的豐功偉業(其實我相信大家都很瞭解,應該不太需要再介紹~XD)

然後進入Google 知識加時間:

大家知道google 的Search Index 目前有多大嘛? (100PB)

目前TeraSort 的紀錄是幾秒呢? (Google + MapR 的1TB 54秒,破之前Yahoo的紀錄)



接下來就是令人感到興趣的主題,Agenda分別是:

1. Google Cloud Platform (GCP) 介紹

2. 如何在GCP 上架設Hadoop Cluster

3. Big Query

Google Cloud Platform (GCP) 介紹

在介紹如何使用GCP 之前,當然一定得先提一下為什麼要使用GCP,首先一個很大的賣點就是Google 所有的Data Center 都是使用Google Fiber 在串接,所以Zone 與Zone 之間,Service 與Service 之間通通都是享受到光纖的速度,此外Google 為了他們本來主要服務(如Google Search , Gmail, youtube...等)就有跟各國各大ISP合作,所以在網路頻寬和速度上更是有一定的品質與保障。


接下來就是介紹GCP 的整個概念,如同我之前所研究的,GCP 以一個Project 為單位,Project 與Project 之間都是isolate,一方面增加安全性,一方面又可以確保資源的品質,此外在這邊講者特別有提到 GCP 的 I/O CPU Network 其實是分開處理的? 所以不像傳統由同一個Host 去分配資源容易有瓶頸?(這一段不是很確定有沒有聽對~XD)



關於Disk 的部份就如同之前研究的:

Scratch Disk = local Disk (關機資料就消失,但是Performance 比較好)
Persistent Disk = EBS Disk (最大10TB 最多16Disk,建議給Root Disk 使用)

此外也趁機問了之前對於Zone 的疑惑,到底進入maintain mode 的zone 我們的instance 會怎麼樣?

講者的回答是,目前GCP 已經有提供好幾個Zone  是no maintain windows 代表他有Live migration 功能,我們就不用擔心如果這個zone 進入maintains,他們會自動幫我們做Live migration,Cool~~

下圖就是講者就做了一個小Demo,利用Google App Engine 寫程式去控制 GCP,要在一分鐘左右開啟100台Instance,並且使用Heap Map 的方式顯示。


講解完了運作原理,當然也要講一下GCP的Performance 摟,跟某Logo 是黃色的公司比較起來~XD





這張投影片講到整個Hadoop Cluster 是怎麼在GCE上運作的



中間穿插著實際Demo 的案例(Live Demo 難免都會有點小出搥~XD)


在Demo 完後就進入大家倍感好奇的BigQuery,一開始先說幾個常常會需要用到的Query 案例,比如說搜尋App Store 排名前20的App,或是DataCenter有多少機器效能低落應該要更換了...



那到底在什麼情境會需要BigQuery 呢?(接來幾張投影片就是重點了)其實跟Spark 和 Shark 一樣,BigQuery 特別適用於在Interactive analysis的情境。







在講到這張投影片的時候我一度以為Big Query 就是在BigTable 的Query (還是真的是!?)


接下來講者就舉一個Query 的範例,到底如何利用Dremel 的架構實現 BigQuery






最後講者舉了一個很有趣得實際應用案例,就是Data Sensing Lab 跟Google合作,在Google  I/O Conference 佈署了很多的Sensor ,然後利GAE + GCP 所實作出來的應用案例,有興趣的可以看這個連結







以上倉促報告完畢~(照顧小孩去~Orz..)