2012年12月29日 星期六

20121228 貓空 煎茶院



20121228 貓空 煎茶院
久聞貓空大名,
還沒機會上去。

這次剛好跟上團,
不過,現在年輕人不喝茶嗎?

同行有念政大的,
都大說,怎麼會沒有人呢?

哈哈哈哈

唉~果然是懷念起,在東海時,
煮茶論劍的時代了。
暢聊一夜未眠,人生一大樂事。

貓空 煎茶院

貓空 煎茶院

貓空 煎茶院


2012年12月28日 星期五

[hadoop]hdfs namenode.SafeModeException


在資料丟失達一定比例的時候,
namenode會進入safemode。

這時候可以採用

hadoop dfsadmin -safemode leave


or

dfs.safemode.threshold.pct

2012年12月22日 星期六

[linux]PHP Fatal error: Class 'DOMDocument' not found

PHP Fatal error: Class 'DOMDocument' not found

yum install php-xml

[電影]第一次




"既然現實是我們無法改變的,倒不如改變我們面對現實的態度。總是抱怨生活不完美的人,是永遠也看不到生活的美麗的。"

‎"你一個小屁孩少在我面前裝老練"

from "第一次"

[電影]第一次




"既然現實是我們無法改變的,倒不如改變我們面對現實的態度。總是抱怨生活不完美的人,是永遠也看不到生活的美麗的。"

‎"你一個小屁孩少在我面前裝老練"

from "第一次"

2012年12月21日 星期五

20121221 世界末日

20121221 世界末日

馬雅曆的新紀元開始了

2012年預言或2012年現象(2012 phenomenon)是一個關於末世論的預言、信仰或傳說、謠言,宣稱美洲的瑪雅文明中的瑪雅曆長達5,126年週期的結束,預言了地球、世界和人類社會在2012年12月21日之時前後數天之內將會發生全球性的災難性變化。此說法與太陽風暴、尼比魯碰撞、地球磁極反轉、網路機器人工程的預言等謠言結合,而成為2012年「世界末日說/人類滅亡說/人類重生說」,但至今目前為止,此說為社會各界認定是為一門偽科學,也是民間科學愛好者的次文化之一。[1]

2012年12月20日 星期四

[elasticsearch]Too many active ES requests, blocking now

Too many active ES requests, blocking now. {:inflight_requests=>50, :max_inflight_requests=>50, :level=>:info, :file=>"/opt/logstash/lib/logstash-1.1.5-monolithic.jar!/logstash/outputs/elasticsearch.rb", :line=>"150", :method=>"receive"}

2012年12月11日 星期二

[puppet]如何使用 Example42 的 Puppet 模块 | vpsee.com http://www.vpsee.com/2012/05/using-puppet-modules-from-example42/

如何使用 Example42 的 Puppet 模块 | vpsee.com
http://www.vpsee.com/2012/05/using-puppet-modules-from-example42/


[puppet]puppet import include


Puppet class inheritance confusion - Server Fault
http://serverfault.com/questions/197909/puppet-class-inheritance-confusion


The difference between import and include statemens is:

import works with files, and does not execute classes
include executes classes
files must be imported before the classes can be included
Note: there is a very strong exception to the last rule: Puppet module lookup. include statement does automatic imports in many situations. Here are some of them:

include foo tries to import the file module_dir/foo/manifests/init.pp
include foo::bar imports module_dir/foo/manifests/bar.pp

2012年12月10日 星期一

[puppet]puppet plusignment "+>"


There are other ways to use inheritance. In Puppet 0.23.1 and higher, it’s possible to add values to resource parameters using the ‘+>’ (‘plusignment’) operator:


class apache {
service { 'apache': require => Package['httpd'] }
}

class apache-ssl inherits apache {
# host certificate is required for SSL to function
Service['apache'] { require +> File['apache.pem'] }
}


[puppet]puppet note :: The double colon that divides the sections of a class’s name is called the namespace separator.

[puppet]
puppet note "::"
The double colon that divides the sections of a class’s name is called the namespace separator.

Module Fundamentals — Documentation — Puppet Labs
http://docs.puppetlabs.com/puppet/2.7/reference/modules_fundamentals.html


2012年12月7日 星期五

[puppet]puppet Serving Module Files


That is to say, if a module named test_module is installed in the central server’s /etc/puppet/modules directory,

the following puppet: URI…

puppet:///modules/test_module/testfile.txt

All puppet file server URIs are structured as follows:

puppet://{server hostname (optional)}/{mount point}/{remainder of path}

The Puppet File Server — Documentation — Puppet Labs
http://docs.puppetlabs.com/guides/file_serving.html


2012年11月29日 星期四

[chrome]get your all tab url and title extensions


where is google chrome extensions store
~/Library/Application Support/Google/Chrome/Default/Extensions/

you can find the app id maping to dir



function list(tabs) {
var contents = '';
for (var i = 0; i < tabs.length; i++) {
contents += tabs[i].title + '\n';
contents += tabs[i].url + '\n';
}
document.getElementById('url-list').innerHTML = contents;
}


2012年11月27日 星期二

[elaticsearch]elasticsearch 了解 index stats

有時候想要看現在的 records 筆數與index size除了進去系統看實體index size外,
可直接使用 elastic search api。

$curl -XGET localhost:9200/_stat?pretty=true


{
"ok" : true,
"_shards" : {
"total" : 80,
"successful" : 78,
"failed" : 0
},
"_all" : {
"primaries" : {
"docs" : {
"count" : 51268,
"deleted" : 0
},
"store" : {
"size" : "47mb",
"size_in_bytes" : 49305337,
"throttle_time" : "0s",
"throttle_time_in_millis" : 0
},
"indexing" : {
"index_total" : 54374,
"index_time" : "1.7m",
"index_time_in_millis" : 104300,
"index_current" : 0,
"delete_total" : 0,
"delete_time" : "0s",
"delete_time_in_millis" : 0,
"delete_current" : 0
},
"get" : {
"total" : 0,
"time" : "0s",
"time_in_millis" : 0,
"exists_total" : 0,
"exists_time" : "0s",
"exists_time_in_millis" : 0,
"missing_total" : 0,
"missing_time" : "0s",
"missing_time_in_millis" : 0,
"current" : 0
},
"search" : {
"query_total" : 6463,
"query_time" : "17.5s",
"query_time_in_millis" : 17516,
"query_current" : 0,
"fetch_total" : 914,
"fetch_time" : "1.1s",
"fetch_time_in_millis" : 1113,
"fetch_current" : 0
}
},
"total" : {
"docs" : {
"count" : 104217,
"deleted" : 0
},
"store" : {
"size" : "572.4mb",
"size_in_bytes" : 600236519,
"throttle_time" : "0s",
"throttle_time_in_millis" : 0
},
"indexing" : {
"index_total" : 58856,
"index_time" : "3.6m",
"index_time_in_millis" : 220396,
"index_current" : 0,
"delete_total" : 0,
"delete_time" : "0s",
"delete_time_in_millis" : 0,
"delete_current" : 0
},
"get" : {
"total" : 0,
"time" : "0s",
"time_in_millis" : 0,
"exists_total" : 0,
"exists_time" : "0s",
"exists_time_in_millis" : 0,
"missing_total" : 0,
"missing_time" : "0s",
"missing_time_in_millis" : 0,
"current" : 0
},
"search" : {
"query_total" : 10459,
"query_time" : "27.5s",
"query_time_in_millis" : 27564,
"query_current" : 0,
"fetch_total" : 1324,
"fetch_time" : "1.6s",
"fetch_time_in_millis" : 1611,
"fetch_current" : 0
}
},

2012年11月26日 星期一

[rvm] install ruby rvm


#curl -L https://get.rvm.io | bash -s stable --ruby


Installation of RVM in /usr/local/rvm/ is almost complete:

* First you need to add all users that will be using rvm to 'rvm' group,
and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

* To start using RVM you need to run `source /etc/profile.d/rvm.sh`
in all your open shell windows, in rare cases you need to reopen all shell windows.


#gpasswd -a root rvm

2012年11月22日 星期四

[redis]#error "Newer version of jemalloc required" make error



[root@hct5 redis-2.6.4]# make
cd src && make all
make[1]: Entering directory `/root/logenv/redis-2.6.4/src'
CC adlist.o
在包含自 adlist.c:34 的檔案中:
zmalloc.h:50:31: 錯誤:jemalloc/jemalloc.h:沒有此一檔案或目錄
zmalloc.h:55:2: 錯誤:#error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/logenv/redis-2.6.4/src'
make: *** [all] Error 2


solution:
# make distclean

[linux]usermod set home dir



usermod -d /path/to/new/homedir/ username

2012年11月21日 星期三

紀曉君 下班流浪記


剛好參加了
【Legacy x Cheers 星期三不加班】留言送「紀曉君下班流浪記」音樂會門票


「紀曉君下班流浪記」音樂會
時間:2012年11月21日(三)
開放入場:開放入場 19:30/ 演出開始 20:30
地點:Legacy Taipei 傳 音樂展演空間(台北市八德路一段一號‧華山1914創意文化園區 中五館)

說真的,我聽到一半起了好幾次雞皮疙瘩。
好像會透過你一樣,辦隨著燈光,好像沉浸在另外一個空間。