タグ

ブックマーク / kohsuke.hatenadiary.com (2)

  • HudsonクラスタをHadoopクラスタに - 川口耕介の日記

    仕事では30-40ノード位のHudsonクラスタを運用しているのですが、常々、このクラスタをもっと多用途に使えたら便利だと思っていました。 HadoopをHadoop推奨の方法でインストールしてもよいのですが、ネットワークの情報等をHudsonとHadoopに別々に教えないといけないのは不便です。そこで、週末を2つ使って、HudsonクラスタにHadoopを展開するためのプラグインを書きました。Hadoopのコードを読むのに少し手間取りましたが、一度肝を掴んでからは比較的簡単でした。 このプラグインをインストールすると、Hudsonのクラスタ全域でHadoopノードが実行され、またネットワークの設定に関する情報が自動的にHudsonからHadoopへ伝えられます。ユーザーは、HadoopプラグインをHudsonにインストールする以外にはやることはなにもありません。いわゆる「zero con

  • 分散Groovy環境 - 川口耕介のブログ

    Hudsonの分散ビルドの実装の肝になっているのは、クロージャをリモートJVMで実行するという仕組み。クラスファイルとかリソースとかも必要に応じてリモートJVMにコピーするので、リモート側にあらかじめプログラムを配備しておく必要がないのがよい点です。 さて、常々Javaのクロージャ(もどき)の文法は冗長だと思っていたので、これにGroovyを組み合わせたらいいんじゃない?、という事で、実験して見たところ意外にうまくいきました。 def pid() { // PIDを取得する。要はどのJVMで動いているかをわかりやすくするだけ return new File("/proc/self").canonicalPath } i=0 (0..<4).each { i++; remote { println "1st from ${pid()} (${i})" remote { println "2n

    分散Groovy環境 - 川口耕介のブログ
  • 1