2010年6月7日月曜日

6/7 DE研究会

ようやく論文を投稿できました。
協力してくださった皆さん、ありがとうございます。

2010年6月4日金曜日

6/4 HDDのテスト

研究室に新しいDiskが二枚やってきた。
WD20ARS 2.0TB 5400RPM 32MB

このディスクはセクタが4kBなので以下のようにFormatする必要がある。
トラックあたりのセクタ数が8の倍数になるので書き込みが高速化する。
fdisk -H 224 -S 56 /dev/sdb

WDのチェックにはWESTERN DIGITAL DATA LIFEGUARD DIAGNOSTICSを使う。
CDから起動できるISOイメージもあるが、Windowsから実行できるものもある。
今回はDR-DOSでの起動が失敗したのでWindows上から実行した。
Short Testは2分ほどで終わるが、Zero Fillは5時間ほどかかる。
2台並列実行ができるのが救いかもしれない。

某掲示板のスレッドによると、
1. 電源を入れて温度が安定するまで放置 (室温次第、10分~2時間)
2. ShortTest (この時点の不良で以降の検査を省いて返品交換するならLongTest)
3. ゼロフィル
4. LongTest
5. OSでクイックフォーマットを実行してファイルシステムを作成、運用
このような順番でチェックするのが望ましいらしい。

チェックの内容
○Extended self-test / Long Test / ロングテスト
  HDDのセルフテスト 全セクタ読み出し検査 原則的に既存データに影響なし 1TBで250分前後
○Conveyance self-test / Short Test / ショートテスト
  HDDのセルフテスト 簡易検査 原則的に既存データに影響なし 3~5分
  容量にかかわらずで検査が終わる
○Zero Fill / ゼロフィル / ゼロ埋め / 物理フォーマット(歴史的用語)
  全セクタに書き込むので、未知の不良セクタがあっても自動代替される
  既存パーティション・データ等はすべて消える
  PCからHDD間に容量分のデータを送るのでLongTestと同等以上の時間を要する

6/4 Hadoopでのユーザアプリの実行

ユーザアプリはHadoop内のmapredに置かれているMapReduceBaseをインポートして作る。
packageは設定しないほうが楽だが、設定した場合は実行時にも影響する。

$HADOOP_HOMEをHadoopをインストールしたディレクトリで設定する。
これがないとうまく実行できない。

$HADOOP_HOMEにjavaファイルを置いてコンパイルする。
$ mkdir class_tmp
$ javac -classpath ${HADOOP_HOME}/hadoop-0.20.2-core.jar -d class_tmp SOURCE.java
$ jar -cvf JARNAME.jar -C class_tmp/ .

package hoge.foo.bar;
となっている場合は、SOURCE.javaの部分を./hoge/foo/bar/SOUECE.javaにする。

実行。
$ ${HADOOP_HOME}/bin/hadoop jar JARNAME.jar CLASSNAME ARG0 ARG1 ...

packageが指定してある場合は、CLASSNAMEをhoge.foo.bar.CLASSNAMEとする。
引数はjavaの設定に依存。


参考:ttp://www.unfindable.net/~yabuki/blog/2010/02/hadoop_1.html
今回は正しい情報に行き当たるまでにすさまじく多くの時間を無駄にしてしまった。
ショック。

2010年6月3日木曜日

6/3 NFS高速化

簡潔に言えば、非同期書き込みに読み書きサイズを増やせばよい。
加えて、TCPを使うことでRPC再送のオーバーヘッドを緩和できる。

・NFSの設定
### /etc/exports ###
NFS_DIR IP_ADDR/SUBNET(rw,async,no_root_squash,no_subtree_check)

・マウント時のコマンド
# mount -t nfs -o tcp,rsize=8192,wsize=8192 NFS_DIR LOCAL_DIR

・fstab
### /etc/fstab ###
ADDR:NFS_DIR LOCAL_DIR nfs hard,rsize=8192,wsize=8192,tcp 0 0

exportsの設定にasyncを足すのがポイント。
SUBNETと括弧を詰めて書かないとエラーが出るので注意。
exportfs -raコマンドでexports設定ファイルの確認と更新ができる。

2010年6月1日火曜日

6/1 JSON

Twitterのログを操作するPerlスクリプトを作成しているが、
JSONのPerlモジュールがうまく動かないため立ち往生してしまっている。
そもそも実装例がほとんどない。困った。

2010年5月25日火曜日

5/25 Eclipseの謎

昨日VNCを起動してみると、何故か立ち上げっぱなしのはずのEclipseが落ちていた。
しかも、起動しようとするとファイルがLockできないと言われて停止してしまう。

Lockファイルを削除してもうまくいかなかったため、
workspace/.metadata/.logのエラーメッセージを見て設定ファイルを編集。
eclipse/configuration/config.iniにosgi.locking=noneを足せばよいようだ。

この設定を追加すると、Lockの確認が行われないため二重起動などには要注意。


Hadoopのスライドも更新しなければならないが、講義の課題も増えてきて大変。

2010年5月18日火曜日

5/18 Switch

M研究室から借りているギガビットスイッチは機能が多すぎてよくわからない。
VLAN機能などはOFFにしているはずなのだが、やはり端の4端子がうまく繋がっていない模様。
昨日のサーバ室の大改装が終わった後、外部との接続が不可能になっていたようだが、
その原因も上記のスイッチの不具合によるものだった。
これ以上このスイッチと戦うよりは端の4つを諦めたほうがよさそうだ。