読者です 読者をやめる 読者になる 読者になる

admin training二日目

あなたがこのエントリを読んでいるということは、私はもうニューヨークにはいないということだろう。

いやわかんないですが。とりあえず二ヶ月までは行かないけどそれに近いアメリカ生活も終わりで、あとは空港で華麗に別室送りにされたりされなかったりするくらいしかイベントがありません。

で、二日目のメモです。そういえばalexじゃなくてericだったかもです。佐藤さんと加藤さんまちがえるくらいのレベルですかね。

ほげーと思ったことをつらつらと。Hadoop本番運用の経験がないので結構おおいです。あといくつか正確でないのですがめんどいのであれで。
fsckとかで定期的にチェックしといた方がいいよ
・削除とか移動のときの競合には気をつけて
・safemodeはデフォルトだと30秒
・HDFSまわりのプロセスを止めないであれしてブロックが移動中だったりするとデータが失われるかもね
・distcpはクラスタ間でのコピーもできるよ
・distcpは同じファイル名、チェックサム、サイズだったら同じものとしてコピーしないでくれたり
クラスタにノードを追加するときは、includeに書いてクラスタ止めてdfsadmin -refleshNodes
・DataNodeだけ追加でもJobTrackerとかもとめないとだめ
・JobTracker落としたあとにジョブの履歴とか消えちゃうのはあれだから永続化するとかいいかも?
・ノードを外すのはexcludeに書いてdfsadmin -refleshNodes
・リバランスはbalancerでいいよ
・リバランス中Ctrl+Cで抜けてもいいよ
・オン中リバランスはいろいろ厳しいかも
・ノード追加したあとはリバランスしよう、あと週次にしとくものいいね
・VERSIONファイルはHDFSのバージョンとストレージのバージョンをもってて諸般の事情によって書き換えたことがある人もいるかもだけど(僕も)、まあ本番ではそんなことできないよねーww
・fsimageファイルはSecondary Name Nodeがつくってるイメージ
・editファイルは操作ログ
・fsimage/editはwebのあれから落としたりもできたりるけどメモリと同期とれてるやつじゃないので気をつけて
・NameNodeのリカバリは、バックアップファイルを退避して、dfs.name.dirの全部をクリーンにして、最初に書いてるディレクトリに退避したやつをおいて、オーナーを変えて、再起動でおk
・NameNodeの物理マシンをかえるのも同じ手順でおk
・リカバリのときも、distcpとかと同じように同じっぽかったら複製しない
hadoopのバージョンアップはNameNodeを-upgradeであげればおkで、HDFSが変わってなければそれもいらない
hadoopのバージョンアップに失敗したら-rollbackとかできたり、おkそうなら-finalizeUpgradeすればいい
・stupidがいるから本番ではおすすめしないけど、web.private.actionをtrueにしとくとjobの管理がwebのインターフェイスでできるようになったり
FIFOスケジューラーとか使わねーよw
・Fairスケジューラーつかうとユーザーごと最小slotを設定できたり重みつけられたりいい感じ
・logs下にあるJobConfのxmlのあれは30日経過で勝手に消してくれる
・logはflumeであつめてHDFSに突っ込めばいいんだよ!
・HBaseつかうときにZKのpeerはSecondary NameNodeあたりにおいとくのがよさげ、台数少なくてもDataNodeと一緒にするのはなしの方向で
・Flumeは別にHadoopに依存してないよ
・masterがデータの回収の責務を持ってたり
・設定はmasterのやつだけでよくて、管理が楽でしょ
・基本はscp→copyFromLocalとかやってられんよというモチベーション
・ZKはWALがあるので基本的にデータをうしなわない
・agent→collacterのチェインでは、先に飛ばせなかったらローカルに書いておくので、プロセス障害は大丈夫そう
・なんか1000台くらいなら実績あるとかないとか
・Source/Sinkのフローはデコレーターっぽいらしい
・outputはHDFSじゃなくてもいろいろいけたり。twitterとか。
・設定は書き換えると勝手に更新されたり、reconfigure themselve
・マスタが死んでもagentとかcollectorは動き続けるらしんだけど、どうなんだろ?
・集めた結果はawk/grepっぽいのを書くと見れたり
・agentをあげるのはマスタのurlをたたけばよかったりで便利
・sqoopってなかでなんかormぽいのもっててjavaのコード生成してるよね

というかんじで。セキュリティ?なにそれおいしいの?スルーされ具合はなかなか。


そういや、西で受けたときはインド/中国勢が優勢という感じでしたが、東は白人系が大多数でした。まあdev/adminという違いもあるのであれかもですが。


world/training全体を通しての感想だと、Zookeeperが面白そうかなという感じです。ZKでフィードプロセッシングというのは多分まだなさげですが、データ受けたり飛ばしたりするところがスケールしてくれたりするといいなあ系の用途には良さげで、HBaseの基盤になってたりもするし、Flumeの基盤になってたりもするし。夏だ!クラウドだ!分散合意だ!みたいな印象を受けたので、そのへんで遊んでみたりもしたいです。
それはまた、そのうち。とりあえず日本に帰って食いっぱぐれないことを祈ります。