總瀏覽量

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

沒有留言:

張貼留言