最近要在我們team上的blog發表一些文章
不過那個blog選用的是用的是動態的template
因為內容是動態render出來的,所以SyntaxHighlighter的基本用法就不工作了
Google了一段時間
在stack overflow上找到了解法一
<pre class="brush: js" title="test" id="sh3-123">
var f = function () {
return 1;
};
</pre>
<script type="text/javascript">
// code snippet is loaded here, use SH3 API to highlight it
var element = document.getElementById('sh3-123');
SyntaxHighlighter.highlight(undefined, element);
</script>
基本上就是給pre標籤一個id再用SyntaxHighlighter API明確把syntax套上那個tag
這方法雖然work但是每貼一段code就要指定一個id感覺還是太繁瑣了
因此繼續google
然後找到了解法二
只要在blog中貼上上段javascript就可以讓原本語法恢復正常工作了
<script type="text/javascript">
SyntaxHighlighter.highlight();
</script>
總網頁瀏覽量
2013年11月29日 星期五
2013年10月29日 星期二
美國Hadoop朝聖之旅part 1
2013.6.9 day1
終日坎坷不安的心情一直蔓延到手機傳來鈴響為止
是司機打來跟我確認地址的,以便把我接送至機場
在爸媽與女友的陪伴下我搭上了車
準備離開台北
在車上,司機話不絕口
後來想想也是好事,免得我腦袋空空開始想有的沒的
倏地就來到了機場大廳
我在大廳裡悠轉了一會沒見到人
然後就接到主管打來的電話
一起繳了行李後我們便直奔長榮貴賓室
一進入後驚為天人阿
buffet來的
燒賣很好吃,我取了不只一輪
在貴賓室稍作休息後
就啟程前往搭機了
飛美國11個小時的飛機其實也還好
反正機上都很好睡
睡個8小時起來看部電影就差不多到了
沒想像中的難熬
ZzZzZz...
好的,現在我們已經來到了世界中心美國
在海關delay了許久以及辦理租車手續種種
讓我們踏入旅館的時間調整為當地時間12點
第一天就在累累的狀況下沉沉睡去了
day2
陽光透過未拉滿的窗簾縫灑進了室內
打開窗戶,欣賞下清新的早晨
回頭稍事梳洗後
就下樓走向餐廳
經過房間第一映像洗禮後
我想早餐應該是不差的
但我卻在此體會到了什麼叫做沒有期待就沒有傷害~0rz
不提早餐也罷
我們的旅館離公司約5~10分鐘車程
來到公司後大夥興奮地對trend micro扛棒猛按快門
門面
阿~~~
這就是Bay Area阿,心中一股憧憬油然而生
倏地入內
head on 美國同事幫我們book好meeting room作為此行的戰情室
午餐承蒙同事慷慨解囊,吃了一頓好料的
非常感謝scott大大熱情招待!
第一天在尚未解決jetlag以及大致擬定作戰方向後便趁早收工
養精蓄銳希望明天有更好的精神XD
晚間回到旅館後,帶著相當享受的心情,早早睡去,早上4~5點便起床XD
隔天滿懷戰力準備上工時
便發現,台灣site的網路竟然掛點,resource全無
在一番call for help之後由於時差問題,最終還是要等明天才有辦法連上
於是第二天又在幾番無力掙扎與尚未調適完的jetlag下,提早下工
下工後我們前往valey fair逛mall
在這間nordstorm買到了同事委託代買的鞋
晚餐就在mall裡解決囉
這個超好玩的拉,疊疊樂,夾多少吃多少(後來廚師看了直搖頭)
這餐吃吃飽的
回到sunnyvale溫暖的個人高級旅店,準備明天進城參加conference
day3
早起上路!
highway超大條,不過進城的車也不少就是了
經過一番道路不熟以及單行道噩夢後
總算找到拉
名條隨便你貼,這設計還蠻有才的,可以有種可以貼個hire me~XD
keynote開場好像在disco一樣
印象中好像是wibi data的CEO,台風超穩健,簡報有條理,聽起來就讓人覺得這公司會成功!
有的session會兩個以上輪流報
這個panel discussion我其實聽不太懂,印度腔真的太殺了~囧
整個conference結束後酒足飯飽一下,又回到溫暖的窩
終日坎坷不安的心情一直蔓延到手機傳來鈴響為止
是司機打來跟我確認地址的,以便把我接送至機場
在爸媽與女友的陪伴下我搭上了車
準備離開台北
在車上,司機話不絕口
後來想想也是好事,免得我腦袋空空開始想有的沒的
倏地就來到了機場大廳
我在大廳裡悠轉了一會沒見到人
然後就接到主管打來的電話
一起繳了行李後我們便直奔長榮貴賓室
一進入後驚為天人阿
buffet來的
燒賣很好吃,我取了不只一輪
在貴賓室稍作休息後
就啟程前往搭機了
飛美國11個小時的飛機其實也還好
反正機上都很好睡
睡個8小時起來看部電影就差不多到了
沒想像中的難熬
ZzZzZz...
好的,現在我們已經來到了
在海關delay了許久以及辦理租車手續種種
讓我們踏入旅館的時間調整為當地時間12點
第一天就在累累的狀況下沉沉睡去了
day2
陽光透過未拉滿的窗簾縫灑進了室內
打開窗戶,欣賞下清新的早晨
回頭稍事梳洗後
就下樓走向餐廳
經過房間第一映像洗禮後
我想早餐應該是不差的
但我卻在此體會到了什麼叫做沒有期待就沒有傷害~0rz
不提早餐也罷
我們的旅館離公司約5~10分鐘車程
來到公司後大夥興奮地對trend micro扛棒猛按快門
門面
阿~~~
這就是Bay Area阿,心中一股憧憬油然而生
倏地入內
head on 美國同事幫我們book好meeting room作為此行的戰情室
午餐承蒙同事慷慨解囊,吃了一頓好料的
非常感謝scott大大熱情招待!
第一天在尚未解決jetlag以及大致擬定作戰方向後便趁早收工
養精蓄銳希望明天有更好的精神XD
晚間回到旅館後,帶著相當享受的心情,早早睡去,早上4~5點便起床XD
隔天滿懷戰力準備上工時
便發現,台灣site的網路竟然掛點,resource全無
在一番call for help之後由於時差問題,最終還是要等明天才有辦法連上
於是第二天又在幾番無力掙扎與尚未調適完的jetlag下,提早下工
下工後我們前往valey fair逛mall
在這間nordstorm買到了同事委託代買的鞋
晚餐就在mall裡解決囉
這個超好玩的拉,疊疊樂,夾多少吃多少(後來廚師看了直搖頭)
這餐吃吃飽的
回到sunnyvale溫暖的個人高級旅店,準備明天進城參加conference
day3
早起上路!
highway超大條,不過進城的車也不少就是了
經過一番道路不熟以及單行道噩夢後
總算找到拉
名條隨便你貼,這設計還蠻有才的,可以有種可以貼個hire me~XD
keynote開場好像在disco一樣
印象中好像是wibi data的CEO,台風超穩健,簡報有條理,聽起來就讓人覺得這公司會成功!
有的session會兩個以上輪流報
這個panel discussion我其實聽不太懂,印度腔真的太殺了~囧
整個conference結束後酒足飯飽一下,又回到溫暖的窩
2013年10月19日 星期六
ACER S7 391 升級windows 8.1 心得分享
前兩天歡欣雀躍的更新了win8.1
結果悲劇就此揭開序幕~囧
以下分享給所有S7的朋友們,其他機種也可以參考看看^^
首先第一個問題是觸控板的手勢都不見了
這部分只要重裝touchpad的驅動就可以回來了
http://www.acer.com.tw/ac/zh/TW/content/drivers
TouchPad ELANTECH Touchpad Driver v11.6.27.201 124.0 MB 2013/10/08 下載
win8.1版本的軟體增加蠻多客製化的設定
不過我還是裝回了win8的版本因為有幾個我熟悉的設定反而不能設了
第二個問題是metro的介面變大了
動態磚從原本的五列變成四列,整個排列超醜的
解法如下圖在更多顯示的地方調整成"較小"
最後一個也是我還沒解決的問題
那就是觸控的靈敏度變差了
同一個觸控動作要做第二次才有反應
這個問題有點複雜
因為當開始操作觸控螢幕後,後面的操作就都又沒問題了
但一段時間未使用觸控螢幕,再進行操作的第一次就會辣擦掉
請看影片(注意看第一次操作確實有觸控到,只是被判斷成一個點擊而不是滑過)
這真的讓人超火的
雖然看起來好像沒什麼
實際上真的超難用
因為筆電上的觸控螢幕一定是搭配鍵盤用阿
所以常常打完字回來第一次又不行了
關於驅動更新的部分還有一點值得一提
就是更新完win8.1的wifi driver後
高度省電(如下圖)的模式會每10~15分鐘斷線的問題就不再發生了
還有,微軟的新輸入法還蠻難用的~.~
結論:我要來rollback拉
[2013.10.21]
今天花了一下午rollback回win8
用acer recovery manager做的
選擇自訂模式的話資料都可以保留,但安裝起來的程式都會被移除掉
所以花了不少時間設定回來
總算拿回順暢的觸控體驗拉
結果悲劇就此揭開序幕~囧
以下分享給所有S7的朋友們,其他機種也可以參考看看^^
首先第一個問題是觸控板的手勢都不見了
這部分只要重裝touchpad的驅動就可以回來了
http://www.acer.com.tw/ac/zh/TW/content/drivers
TouchPad ELANTECH Touchpad Driver v11.6.27.201 124.0 MB 2013/10/08 下載
win8.1版本的軟體增加蠻多客製化的設定
不過我還是裝回了win8的版本因為有幾個我熟悉的設定反而不能設了
第二個問題是metro的介面變大了
動態磚從原本的五列變成四列,整個排列超醜的
解法如下圖在更多顯示的地方調整成"較小"
最後一個也是我還沒解決的問題
那就是觸控的靈敏度變差了
同一個觸控動作要做第二次才有反應
這個問題有點複雜
因為當開始操作觸控螢幕後,後面的操作就都又沒問題了
但一段時間未使用觸控螢幕,再進行操作的第一次就會辣擦掉
請看影片(注意看第一次操作確實有觸控到,只是被判斷成一個點擊而不是滑過)
這真的讓人超火的
雖然看起來好像沒什麼
實際上真的超難用
因為筆電上的觸控螢幕一定是搭配鍵盤用阿
所以常常打完字回來第一次又不行了
關於驅動更新的部分還有一點值得一提
就是更新完win8.1的wifi driver後
高度省電(如下圖)的模式會每10~15分鐘斷線的問題就不再發生了
還有,微軟的新輸入法還蠻難用的~.~
結論:我要來rollback拉
[2013.10.21]
今天花了一下午rollback回win8
用acer recovery manager做的
選擇自訂模式的話資料都可以保留,但安裝起來的程式都會被移除掉
所以花了不少時間設定回來
總算拿回順暢的觸控體驗拉
2013年10月15日 星期二
京阪神奈自由行 美食篇 Oct. 2013
這篇先把這次7天7夜自由行的美食蒐羅一下,以免時間久了沖淡了美好的滋味
神戶:十番燒肉飯、ステーキランド神戸館(神戶牛)、モーリヤ三宮店(神戶牛)
京都:六傳屋擔擔麵先斗町店、京うどん生蕎麦岡北(蕎麥麵)、名代豬排京都車站、くら寿司金閣寺店
大阪:梅田但馬屋(壽喜燒吃到飽)、金龍拉麵、貝利的鮭魚丼、鶴橋風月(大阪燒)、つけ麺 雀(沾麵)、燒肉六甲(燒肉吃到飽)
吃到飽系的就不加入排名了
排名如下:
ステーキランド神戸館
ステーキランド神戸館的用餐環境跟モーリヤ三宮店(志玲姊姊推薦的)比起來確實是low了些
但根據我兩家都吃過的經驗來講,強推想吃神戶牛的去ステーキランド神戸館就好,除非你是那種有社會地位卻出現在普通餐館,怕被恥笑的人
這次我在モーリヤ三宮店點了一份7500yen的神戶牛,分量相比ステーキランド神戸館之下稍微少了一點
最重要的是ステーキランド神戸館只要2680yen,相當經濟划算
肉質部分,老實說,我覺得沒有差很多,モーリヤ的多汁了一些些,但我覺得都超好吃的,只要是神戶牛就無敵了
所以ステーキランド神戸館相對之下真的是超級經濟划算的拉
モーリヤ三宮店
沒錯,上圖就是全部7500yen
對於我輩來講這真的太貴了,以後會友自知之明些XD
anyway神戶牛就是頂阿~!
つけ麺 雀
這真的超好吃的,看起來雖然很簡單,但那濃稠的海鮮底醬汁實在美味,讓我在麵吃完之後還很乾淨俐落的直接把他喝光!
くら寿司金閣寺店
一盤100yen超便宜,壽司也都很好吃,CP值超高的一餐
六傳屋擔擔麵先斗町店
紅到發亮的那碗是「日本第一麻辣,擔擔麵」,我點餐的時候腦補斷句成「日本第一,麻辣擔擔麵」,那碗真的不是人吃的,別輕易嘗試XD
女朋友點的擔擔麵就非常好吃,湯頭濃郁,滋味一流
這間的食物確實好吃,但因為沒有設置禁菸席,所以其實我吃的時候超不爽的
十番烤肉飯
肉烤得非常入味,這是我日本行的第一餐,好的開始。不過來這吃的大多都上班族,因為很簡單,就只有一碗飯而已,輕鬆搞定一餐
名代豬排京都車站
這間排隊等超九,以至於我讓我產生與其代間的落差,豬排確實不錯,但我覺得台灣的杏子豬排似乎還好吃一些呢
貝利的鮭魚丼
這間原本超期待的,第一次去還吃閉門羹
再去一次總算才吃到,看似超爽鮭魚滿滿的一碗飯,吃起來說實在的會有點膩就是了
京うどん生蕎麦岡北
聽別人推薦比隔壁的元山麵藏好吃,我倒是覺得還好,可能是味道比較淡的關係吧
鶴橋風月(不推)
誠如網路上各位先進所說,確實是太鹹了,感覺吃一吃好像會要洗腎XD
金龍拉麵(超級不推)
這應該是我吃得最不爽的一餐了,不知道為什麼很多人說金龍好吃,我完全不明白= =
味道大概就跟台北市150塊沒有很道地的拉麵差不多吧
神戶:十番燒肉飯、ステーキランド神戸館(神戶牛)、モーリヤ三宮店(神戶牛)
京都:六傳屋擔擔麵先斗町店、京うどん生蕎麦岡北(蕎麥麵)、名代豬排京都車站、くら寿司金閣寺店
大阪:梅田但馬屋(壽喜燒吃到飽)、金龍拉麵、貝利的鮭魚丼、鶴橋風月(大阪燒)、つけ麺 雀(沾麵)、燒肉六甲(燒肉吃到飽)
吃到飽系的就不加入排名了
排名如下:
ステーキランド神戸館
ステーキランド神戸館的用餐環境跟モーリヤ三宮店(志玲姊姊推薦的)比起來確實是low了些
但根據我兩家都吃過的經驗來講,強推想吃神戶牛的去ステーキランド神戸館就好,除非你是那種有社會地位卻出現在普通餐館,怕被恥笑的人
這次我在モーリヤ三宮店點了一份7500yen的神戶牛,分量相比ステーキランド神戸館之下稍微少了一點
最重要的是ステーキランド神戸館只要2680yen,相當經濟划算
肉質部分,老實說,我覺得沒有差很多,モーリヤ的多汁了一些些,但我覺得都超好吃的,只要是神戶牛就無敵了
所以ステーキランド神戸館相對之下真的是超級經濟划算的拉
モーリヤ三宮店
沒錯,上圖就是全部7500yen
對於我輩來講這真的太貴了,以後會友自知之明些XD
anyway神戶牛就是頂阿~!
つけ麺 雀
這真的超好吃的,看起來雖然很簡單,但那濃稠的海鮮底醬汁實在美味,讓我在麵吃完之後還很乾淨俐落的直接把他喝光!
くら寿司金閣寺店
一盤100yen超便宜,壽司也都很好吃,CP值超高的一餐
六傳屋擔擔麵先斗町店
紅到發亮的那碗是「日本第一麻辣,擔擔麵」,我點餐的時候腦補斷句成「日本第一,麻辣擔擔麵」,那碗真的不是人吃的,別輕易嘗試XD
女朋友點的擔擔麵就非常好吃,湯頭濃郁,滋味一流
這間的食物確實好吃,但因為沒有設置禁菸席,所以其實我吃的時候超不爽的
十番烤肉飯
肉烤得非常入味,這是我日本行的第一餐,好的開始。不過來這吃的大多都上班族,因為很簡單,就只有一碗飯而已,輕鬆搞定一餐
名代豬排京都車站
這間排隊等超九,以至於我讓我產生與其代間的落差,豬排確實不錯,但我覺得台灣的杏子豬排似乎還好吃一些呢
貝利的鮭魚丼
這間原本超期待的,第一次去還吃閉門羹
再去一次總算才吃到,看似超爽鮭魚滿滿的一碗飯,吃起來說實在的會有點膩就是了
京うどん生蕎麦岡北
聽別人推薦比隔壁的元山麵藏好吃,我倒是覺得還好,可能是味道比較淡的關係吧
鶴橋風月(不推)
誠如網路上各位先進所說,確實是太鹹了,感覺吃一吃好像會要洗腎XD
金龍拉麵(超級不推)
這應該是我吃得最不爽的一餐了,不知道為什麼很多人說金龍好吃,我完全不明白= =
味道大概就跟台北市150塊沒有很道地的拉麵差不多吧
2013年9月26日 星期四
adjust brightness on ubuntu
recently I'm trying Ubuntu OS which has been installed on my USB stick.
And I found that my screen brightness is too high.
In order to resolve this issue,
apt-get install xbacklight
after that, I can use my laptop's hot key to adjust the brightness of screen.
This makes me feel good,
but, while I found the touchpad isn't work well on 3, 4 finger gesture,
I was upset, again :(
And I found that my screen brightness is too high.
In order to resolve this issue,
apt-get install xbacklight
after that, I can use my laptop's hot key to adjust the brightness of screen.
This makes me feel good,
but, while I found the touchpad isn't work well on 3, 4 finger gesture,
I was upset, again :(
2013年9月24日 星期二
How to remove an entry from efi bootloader
I was trying to setup a USB stick contents a standalone ubuntu OS which would let my win8 ultrabook more "producable".
In the end, I messed up my bootloader to have a ubuntu boot option which should be on the usb drive, and I do not even get my USB drive ready.
After several try on googling the answer on how to remove that ugly boot entry, I finally figure it out.
The way is much more than simple,
no need to delete it by efibootmgr(ubuntu), bcdedit(windows), or download the easyBCD software.
All things you gonna to do is
(1) boot your device into a ubuntu live CD which should you prepared for ubuntu installation.
(2) check which partition does EFI entry located by "gparted" (it should format in FAT32)
(3) mount it on, for example,
mount -t vfat /the-efi-partition /whatever-mount-point
(4) cd in the directory and you could find the ubuntu boot entry: EFI/ubuntu.
(5) remove the entire folder: rm -rf EFI/ubuntu
That's it, you get it.
In the end, I messed up my bootloader to have a ubuntu boot option which should be on the usb drive, and I do not even get my USB drive ready.
After several try on googling the answer on how to remove that ugly boot entry, I finally figure it out.
The way is much more than simple,
no need to delete it by efibootmgr(ubuntu), bcdedit(windows), or download the easyBCD software.
All things you gonna to do is
(1) boot your device into a ubuntu live CD which should you prepared for ubuntu installation.
(2) check which partition does EFI entry located by "gparted" (it should format in FAT32)
(3) mount it on, for example,
mount -t vfat /the-efi-partition /whatever-mount-point
(4) cd in the directory and you could find the ubuntu boot entry: EFI/ubuntu.
(5) remove the entire folder: rm -rf EFI/ubuntu
That's it, you get it.
2013年8月13日 星期二
putty快速登入設定
玩linux的人若不是用mac,多半都用過putty吧
今天分享一點小發現
一般使用時通常會把一些常用的ip或hostname取個精美好記的名字存起來
要連線時再打開putty並選擇該session連入
但如果想要更方便一點執行程式就直接連入呢
試想一個geek每秒鐘幾萬行上下可不能浪費一點時間在「click」身上阿(誤)
據此google一下後發現putty.exe也是可以下參數的
先對putty.exe建立一個捷徑
對新建出來的捷徑點右鍵 -> 選擇「捷徑」標籤
出現以下畫面
這時就可以在「目標」欄位上動手腳拉
C:\Users\aaa\Desktop\putty.exe -load YOUR_SESSION_NAME
這樣這個捷徑一啟動即自動連入YOUR_SESSION_NAME
C:\Users\aaa\Desktop\putty.exe -load YOUR_SESSION_NAME -l YOUR_USER_NAME -pw YOUR_PASSWORD
直接輸入username/password帶你登入到YOUR_SESSION_NAME
要注意的是對於不critical的開發環境這樣做還可以接受
但比較敏感的機器還是勤勞點手輸吧
今天分享一點小發現
一般使用時通常會把一些常用的ip或hostname取個精美好記的名字存起來
要連線時再打開putty並選擇該session連入
但如果想要更方便一點執行程式就直接連入呢
試想一個geek每秒鐘幾萬行上下可不能浪費一點時間在「click」身上阿(誤)
據此google一下後發現putty.exe也是可以下參數的
先對putty.exe建立一個捷徑
對新建出來的捷徑點右鍵 -> 選擇「捷徑」標籤
出現以下畫面
這時就可以在「目標」欄位上動手腳拉
C:\Users\aaa\Desktop\putty.exe -load YOUR_SESSION_NAME
這樣這個捷徑一啟動即自動連入YOUR_SESSION_NAME
C:\Users\aaa\Desktop\putty.exe -load YOUR_SESSION_NAME -l YOUR_USER_NAME -pw YOUR_PASSWORD
直接輸入username/password帶你登入到YOUR_SESSION_NAME
要注意的是對於不critical的開發環境這樣做還可以接受
但比較敏感的機器還是勤勞點手輸吧
2013年7月12日 星期五
使用Google Proto buffer做簡單高效的資料傳輸
Proto buffer是google原先為了方便RPC資料傳輸而發展出來的專案
一個簡單的理解是Protobuf與XML的定位相似
都是用來做資料傳輸的
只是Protobuf會以Binary的方式傳輸
相對XML一堆(噁爛)tag要來得高效
其使用方式也非常簡單
只要定義好你的.proto檔
protobuffer compiler可以幫你建出特定語言的資料存取程式
例如: protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
會依據你定義的addressbook.proto建出相對應的java code放到$SRC_DIR下
至於怎麼拿這些java code來存取protobuf資料
詳見tutorial
https://developers.google.com/protocol-buffers/docs/javatutorial?hl=zh-TW
下面先帶個起手式 - 安裝protoc
小弟我是在centos6環境上安裝的。
在安裝protobuf前需要齊備的環境有:
yum install gcc gcc-c++
接著選擇你鍾愛的protobuf版本
https://code.google.com/p/protobuf/downloads/list
我選擇的是2.4.1版
https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.tar.gz&can=2&q=
下載下來後解壓縮
tar zxvf protobuf-2.4.1.tar.gz
進入到資料夾內可以找到README.txt
前幾行就告訴你如何安裝了
./configure
make
make check
make install
基本上./configure沒有出現error的話後續安裝也就不會有問題了
安裝完輸入protoc --version
libprotoc 2.4.1
表示成功裝完,後面要繼續玩
就把上面的tutorial詳看吧,我覺得寫得很不錯唷
一個簡單的理解是Protobuf與XML的定位相似
都是用來做資料傳輸的
只是Protobuf會以Binary的方式傳輸
相對XML一堆(噁爛)tag要來得高效
其使用方式也非常簡單
只要定義好你的.proto檔
protobuffer compiler可以幫你建出特定語言的資料存取程式
例如: protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
會依據你定義的addressbook.proto建出相對應的java code放到$SRC_DIR下
至於怎麼拿這些java code來存取protobuf資料
詳見tutorial
https://developers.google.com/protocol-buffers/docs/javatutorial?hl=zh-TW
下面先帶個起手式 - 安裝protoc
小弟我是在centos6環境上安裝的。
在安裝protobuf前需要齊備的環境有:
yum install gcc gcc-c++
接著選擇你鍾愛的protobuf版本
https://code.google.com/p/protobuf/downloads/list
我選擇的是2.4.1版
https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.tar.gz&can=2&q=
下載下來後解壓縮
tar zxvf protobuf-2.4.1.tar.gz
進入到資料夾內可以找到README.txt
前幾行就告訴你如何安裝了
./configure
make
make check
make install
基本上./configure沒有出現error的話後續安裝也就不會有問題了
安裝完輸入protoc --version
libprotoc 2.4.1
表示成功裝完,後面要繼續玩
就把上面的tutorial詳看吧,我覺得寫得很不錯唷
2013年5月25日 星期六
fair scheduler設定經驗分享
上禮拜應主管要求,想在fair scheduler加上global的mapper/reducer數量限制
查閱官方文件
http://hadoop.apache.org/docs/stable/fair_scheduler.html
不見global linitation設定蹤跡
後來請示了神人同事確定無此設定
那怎辦呢
其實還是有workaround(不過也有副作用)
那就是把scheduler吃的pool name改成MR的queue name
要enable此功能需要再mapred-site.xml設置:
<property>
<name>mapred.fairscheduler.poolnameproperty</name>
<value>mapred.job.queue.name</value>
</property>
接著只要在fair-scheduler.xml中設置pool的limitation即可
例如:
<pool name="default">
<minmaps>14</minMaps>
<minreduces>8</minReduces>
<maxmaps>25</maxMaps>
<maxreduces>12</maxReduces>
</pool>
即所有人最少有14mapper/8reducer, 最多25/12
如此一來所有沒有設定queue name的MR job(使用default queue)都會apply到
但是!!!
因為scheduler是吃queue name來做控管
在此設定下要區分priority的話
就必須設定另一組queue
mapred-site.xml:
<property>
<name>mapred.queue.names</name>
<value>default,production</value>
</property>
現在有兩組queue, default和production
要讓production有更高優先權的話需要在fair-scheduler.xml中設置:
<pool name="production">
<minmaps>100</minMaps>
<minreduces>50</minReduces>
</pool>
即最少保證mapper的fair share有100, reducer有50,沒有天花板限制(有多少拿多少)
要讓MR job submit到production queue中
需要設定queue name:
-D mapred.job.queue.name=hdfs (generic option)
setQueueName(String) (API)
但是但是!!!
還有一件事要做
每個MR job都可以設queue name為production呀
因此沒設定ACL的話也只是做一半四不像而已
在mapred-site.xml下設定ACL
<property>
<name>mapred.acls.enabled</name>
<value>true</value>
</property>
<property>
意思是讓group1和group2兩個群組的user可以submit job到production queue
這裡的group就是hadoop hdfs的group無誤
走到這一步
基本算是大功告成
但
如果你的hadoop cluster是用simple authentication的話...
我只能說你是白做了XDDD
查閱官方文件
http://hadoop.apache.org/docs/stable/fair_scheduler.html
不見global linitation設定蹤跡
後來請示了神人同事確定無此設定
那怎辦呢
其實還是有workaround(不過也有副作用)
那就是把scheduler吃的pool name改成MR的queue name
要enable此功能需要再mapred-site.xml設置:
<property>
<name>mapred.fairscheduler.poolnameproperty</name>
<value>mapred.job.queue.name</value>
</property>
接著只要在fair-scheduler.xml中設置pool的limitation即可
例如:
<pool name="default">
<minmaps>14</minMaps>
<minreduces>8</minReduces>
<maxmaps>25</maxMaps>
<maxreduces>12</maxReduces>
</pool>
即所有人最少有14mapper/8reducer, 最多25/12
如此一來所有沒有設定queue name的MR job(使用default queue)都會apply到
但是!!!
因為scheduler是吃queue name來做控管
在此設定下要區分priority的話
就必須設定另一組queue
mapred-site.xml:
<property>
<name>mapred.queue.names</name>
<value>default,production</value>
</property>
現在有兩組queue, default和production
要讓production有更高優先權的話需要在fair-scheduler.xml中設置:
<pool name="production">
<minmaps>100</minMaps>
<minreduces>50</minReduces>
</pool>
即最少保證mapper的fair share有100, reducer有50,沒有天花板限制(有多少拿多少)
要讓MR job submit到production queue中
需要設定queue name:
-D mapred.job.queue.name=hdfs (generic option)
setQueueName(String) (API)
但是但是!!!
還有一件事要做
每個MR job都可以設queue name為production呀
因此沒設定ACL的話也只是做一半四不像而已
在mapred-site.xml下設定ACL
<property>
<name>mapred.acls.enabled</name>
<value>true</value>
</property>
<property>
意思是讓group1和group2兩個群組的user可以submit job到production queue
這裡的group就是hadoop hdfs的group無誤
走到這一步
基本算是大功告成
但
如果你的hadoop cluster是用simple authentication的話...
我只能說你是白做了XDDD
2013年5月6日 星期一
screen網路斷線後再連入會hang住
這個問題困擾我好久
經請教強著同事 Jeff Hung
原因如下
因我每次連入都是用scree -rd
會把上一次連線踢掉再連進去
不過由於是網路斷線
上一個session還傻傻在等待回應
導致沒辦法detach
[RESOLVE]
使用screen -xRR
連入時不踢掉session而是同步使用
2013.5.11
改用xRR發現因為是連上共用session,所以resolution以原session為主
這就造成我這端畫面很醜的問題
再次請教J神,ctrl+F即可resize
經請教強著同事 Jeff Hung
原因如下
因我每次連入都是用scree -rd
會把上一次連線踢掉再連進去
不過由於是網路斷線
上一個session還傻傻在等待回應
導致沒辦法detach
[RESOLVE]
使用screen -xRR
連入時不踢掉session而是同步使用
2013.5.11
改用xRR發現因為是連上共用session,所以resolution以原session為主
這就造成我這端畫面很醜的問題
再次請教J神,ctrl+F即可resize
2013年5月2日 星期四
Ganglia start failed on ambari after OS reboot
Restarted VMs and all ambari server/agent are started,
only ganglia service can not been bright up.
I think it may due to that I just power off the VM instead of stop services first.
[RESOLVE]
http://hortonworks.com/community/forums/topic/ganglia-not-working-on-hdp-1-2/
Kill the process {gmond,gmetad} and start it on web UI again.
The root cause of this issue is that ambari has its own wrapped gmond and gmetad.
The origin one will fight with ambari one.
only ganglia service can not been bright up.
I think it may due to that I just power off the VM instead of stop services first.
[RESOLVE]
http://hortonworks.com/community/forums/topic/ganglia-not-working-on-hdp-1-2/
Kill the process {gmond,gmetad} and start it on web UI again.
The root cause of this issue is that ambari has its own wrapped gmond and gmetad.
The origin one will fight with ambari one.
2013年4月22日 星期一
ambari安裝經驗分享
隨著hadoop core發展日趨成熟,
各家distribution也開始走向精緻化路線,
hortonworks出品的ambari即是一例。
ambari提供親切web ui安裝方式,讓windows user也能快速上手(誤)。
除此之外,也打包了一些常用的hadoop ecosystem project
如hbase, hive, oozie, sqoop以及monitorm用的nagios及ganglia。
基本上ambari相對之下算是好裝了。
順著Hortonworks的guide走下去沒什麼問題
(不要懷疑,趕快打開guide吧)
記得每一頁都要看,偷懶沒做的下場就是裝不起來,然後也不知道為什麼裝不起來,只好回頭一頁一頁找0rz
因為Guide都寫得很清楚,
以下就記錄一下我漏掉的部分,算是過來人經驗。
1. 安裝pdsh
2.4. Software Requirements
基本上yum, rpm, scp等等Linux Distribution都自帶了,唯獨pdsh要注意一下得自己裝
此物在後續安裝時指定一大串machine時會派上用場
2. 安裝java
雖然裝ambari-server時會幫你搞一個在/usr/jdk64,不過每台hadoop client還是都得裝java,不如自己先準備好,記得java路徑要設相同
3. ambari-server start fail??
開起來都沒錯誤訊息,不過仔細一看跑起來沒多久就死了,這也是因為沒裝java導致,由於沒error message可看,要自己注意唷。
起成功後可以在http://yourhost:8080找到webpage,帳密不是之前設的,是admin/admin(也不換個字形顏色標清楚!)
4. provide ssh private keys
在install option這頁中間的box是要輸入private keys,別像我我傻傻地貼上public...
5. 再給puppet一次機會
進展到最後一關實際安裝時,有可能會puppet裝一裝會timeout,看一下puppet的log不是其它問題的話,多按幾次retry吧。
裝完就能看到精美的dashboard
補充: machine reboot後如何把HDP起回來?
啟動ambari-sever以及每一台machine上的ambari-agent即可連到web ui,再去一步一步開service吧(zookeeper記得開在hbase前)
各家distribution也開始走向精緻化路線,
hortonworks出品的ambari即是一例。
ambari提供親切web ui安裝方式,讓windows user也能快速上手(誤)。
除此之外,也打包了一些常用的hadoop ecosystem project
如hbase, hive, oozie, sqoop以及monitorm用的nagios及ganglia。
基本上ambari相對之下算是好裝了。
順著Hortonworks的guide走下去沒什麼問題
(不要懷疑,趕快打開guide吧)
記得每一頁都要看,偷懶沒做的下場就是裝不起來,然後也不知道為什麼裝不起來,只好回頭一頁一頁找0rz
因為Guide都寫得很清楚,
以下就記錄一下我漏掉的部分,算是過來人經驗。
1. 安裝pdsh
2.4. Software Requirements
基本上yum, rpm, scp等等Linux Distribution都自帶了,唯獨pdsh要注意一下得自己裝
此物在後續安裝時指定一大串machine時會派上用場
2. 安裝java
雖然裝ambari-server時會幫你搞一個在/usr/jdk64,不過每台hadoop client還是都得裝java,不如自己先準備好,記得java路徑要設相同
3. ambari-server start fail??
開起來都沒錯誤訊息,不過仔細一看跑起來沒多久就死了,這也是因為沒裝java導致,由於沒error message可看,要自己注意唷。
起成功後可以在http://yourhost:8080找到webpage,帳密不是之前設的,是admin/admin(也不換個字形顏色標清楚!)
4. provide ssh private keys
在install option這頁中間的box是要輸入private keys,別像我我傻傻地貼上public...
5. 再給puppet一次機會
進展到最後一關實際安裝時,有可能會puppet裝一裝會timeout,看一下puppet的log不是其它問題的話,多按幾次retry吧。
裝完就能看到精美的dashboard
補充: machine reboot後如何把HDP起回來?
啟動ambari-sever以及每一台machine上的ambari-agent即可連到web ui,再去一步一步開service吧(zookeeper記得開在hbase前)
2013年3月25日 星期一
Distributed command line - pdsh & ssssh 簡單教學
今天要重灌hadoop碰到舊資料沒刪乾淨導致裝不起來的問題
寫了一個for i in {1..4}; do ssh "root@host-0$i" ...來刪東西
被ricky哥發現我的蠢樣後建議我用pdsh
經高人指點迅速裝完
1. download
http://sourceforge.net/projects/pdsh/
2.tar jxvf pdsh.xxx.tar.bz2
[under pdsh folder]
3. ./configure --with-ssh (我跟default的rsh不認識XD)
4. make
5. make install
done
測試一下
pdsh -R ssh -w host-[01-04] hostname
不錯
再試
pdsh -R ssh -w host-[01-04] ls -al /usr/lib | grep hadoop
咦?馬上吃屎...沒有pipe還叫做shell script嗎!?
馬上谷歌結果發現另一套
ssssh,擺明就是要解決pipe問題XD
https://code.google.com/p/ssssh/wiki/Details
這套安裝更簡單了
make install大功告成
ssssh -N -w host-01,host-02,host-03,host-04 ls -al /usr/lib |grep hadoop
帥啊老皮
不過這套似乎不支援串hostname號碼
只好動點髒手腳
alias dsh="ssssh -N -w host-01,host-02,host-03,host-04"
這樣的好處是可以搭配-x(exclude) and -w(include)使用
dsh -x host-01 hostname
[2013-03-26 updated]
pdsh用"把command刮起來就行了,但總覺得多一動就是麻煩XD
寫了一個for i in {1..4}; do ssh "root@host-0$i" ...來刪東西
被ricky哥發現我的蠢樣後建議我用pdsh
經高人指點迅速裝完
1. download
http://sourceforge.net/projects/pdsh/
2.tar jxvf pdsh.xxx.tar.bz2
[under pdsh folder]
3. ./configure --with-ssh (我跟default的rsh不認識XD)
4. make
5. make install
done
測試一下
pdsh -R ssh -w host-[01-04] hostname
不錯
再試
pdsh -R ssh -w host-[01-04] ls -al /usr/lib | grep hadoop
咦?馬上吃屎...沒有pipe還叫做shell script嗎!?
馬上谷歌結果發現另一套
ssssh,擺明就是要解決pipe問題XD
https://code.google.com/p/ssssh/wiki/Details
這套安裝更簡單了
make install大功告成
ssssh -N -w host-01,host-02,host-03,host-04 ls -al /usr/lib |grep hadoop
帥啊老皮
不過這套似乎不支援串hostname號碼
只好動點髒手腳
alias dsh="ssssh -N -w host-01,host-02,host-03,host-04"
這樣的好處是可以搭配-x(exclude) and -w(include)使用
dsh -x host-01 hostname
[2013-03-26 updated]
pdsh用"把command刮起來就行了,但總覺得多一動就是麻煩XD
2013年3月21日 星期四
2013年3月16日 星期六
mkv播放沒有字幕的問題
明明就註明內嵌多國語言字幕
但是用MPC偏偏字幕選項都是灰色的
[解]
http://www.myav.com.tw/bbs/showthread.php?threadid=362996&pagenumber=0
原來影片也有大哉問阿
總之,output改一下就可以看了
但是用MPC偏偏字幕選項都是灰色的
[解]
http://www.myav.com.tw/bbs/showthread.php?threadid=362996&pagenumber=0
原來影片也有大哉問阿
總之,output改一下就可以看了
2013年2月17日 星期日
[微食記] 中山站長鼻子大象
2013年2月5日 星期二
台北天母--溫德德式烘培餐館 [差est]
本來要帶女朋友去這裡過生日的,
聽說德國豬腳相當不錯,股哥也是這麼跟我說的。
兩三個禮拜前去電定位,
當天中午又再打過去確定一次,
結果到現場興高采烈要點餐
服務生:不好意思,德國豬腳要先預訂喔
我OS:叉叉的咧,定位的時候沒說阿,我先知什麼都知道逆?
我真的不懂要預訂才吃得到的東西,當初定位時為什麼沒告知,這邏輯在哪阿???
當天領班也只會道歉說要介紹別的餐點,
真的只能用掉漆來形容~.~
聽說德國豬腳相當不錯,股哥也是這麼跟我說的。
兩三個禮拜前去電定位,
當天中午又再打過去確定一次,
結果到現場興高采烈要點餐
服務生:不好意思,德國豬腳要先預訂喔
我OS:叉叉的咧,定位的時候沒說阿,我先知什麼都知道逆?
我真的不懂要預訂才吃得到的東西,當初定位時為什麼沒告知,這邏輯在哪阿???
當天領班也只會道歉說要介紹別的餐點,
真的只能用掉漆來形容~.~
2013年1月20日 星期日
VM copied lead to network unreachable (centos)
When you copied a CentOS VM and boot it up,
after command in ifconfig
You'll found the your ethernet is not working.
and if you try to bring it up,
service network restart
response will be like below...
device eth0 does not seem to be present delaying initialization
The solution:
1. ifconfig -a
2. record your new MAC ADDRESS
(since you copied the vm, macaddr would not be the same with origin one.)
3. vim /etc/udev/rules.d/70-persistent-net.rules
4. modify the ATTR{address} to the recorded one in eth* which you're using
5. vim /etc/sysconfig/network-scripts/ifcfg-eth*
6. modify the HWADDR to the recorded one
7. service network restart
after command in ifconfig
You'll found the your ethernet is not working.
and if you try to bring it up,
service network restart
response will be like below...
device eth0 does not seem to be present delaying initialization
The solution:
1. ifconfig -a
2. record your new MAC ADDRESS
(since you copied the vm, macaddr would not be the same with origin one.)
3. vim /etc/udev/rules.d/70-persistent-net.rules
4. modify the ATTR{address} to the recorded one in eth* which you're using
5. vim /etc/sysconfig/network-scripts/ifcfg-eth*
6. modify the HWADDR to the recorded one
7. service network restart
2013年1月15日 星期二
[debug log] adLDAP
adLDAP can not retrieve account information such as displayname and email,
but can login successfully.
The Solution:
setup a correct base_dn.
but can login successfully.
The Solution:
setup a correct base_dn.
訂閱:
文章 (Atom)