No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 881 | 882 | 883 |...| 1325 | 1326 | 1327 || Next»

Hadoop 0.20.203.0 で……

いや,ひとつのジョブに対して同時実行する map タスクの数を制限したかったのだけど,結局 mapred-site.xml を変更する以外の手法が分からなかった.

ということで,最大 map タスク数毎に conf ディレクトリのコピーを作って mapred-site.xml でジョブの最大数を指定して…… とかやって実験環境を構築.あとはスクリプトで実験開始.

ぶっちゃけ,並列プログラムの速度向上を測定する実験ってアホなことしてるよなぁと思わなくない.20コア使って 10分で終わるとわかっている計算を1コアで3時間かけて実行するとかアタマが悪い気が…… いや,計算を途中で打ち切ってむちゃくちゃ時間かかることだけ書くにんするだけでいい気もするのだけど.

Hadoop でまた大いに嵌る

今度の症状は datanode が namenode に接続できないというもの.ログをみると

INFO org.apache.hadoop.ipc.Client: Retrying connect to server: namenode/:8020. Already tried 9 time(s).
INFO org.apache.hadoop.ipc.RPC: Server at namenode/:8020 not available yet, Zzzzz...

とかいうのが延々と……

で,結局のところ conf/core-site.xml で namenode の名前を FQN で書かずにホスト名だけで書いていたので namenode の RPC 受付けポートが 127.0.1.1:8020 とかになっていたというオチ(/etc/hosts に 127.0.1.1 namenode という記述がデフォルトで入ってたから).これじゃあ外から繋がらない.

これに気づくまでに半日かかった.アホだ……

閑話休題.

とりあえず動くようになったので動かしたら並列化の効果ばっちり.数の暴力バンザイ.

イヤホンを付けながら自転車を運転して良いのかどうか

東京都道路交通規則より:

(運転者の遵守事項)
第8条 法第71条第6号の規定により、車両又は路面電車(以下「車両等」という。)の運転者が遵守しなければならない事項は、次に掲げるとおりとする。
(1) 前方にある車両が歩行者を横断させるため停止しているときは、その後方にある車両は、一時停止し、又は徐行して、その歩行者を安全に横断させること。
(2) 木製サンダル、げた等運転操作に支障を及ぼすおそれのあるはき物をはいて車両等(軽車両を除く。)を運転しないこと。
(3) 傘を差し、物を担ぎ、物を持つ等視野を妨げ、又は安定を失うおそれのある方法で、大型自動二輪車、普通自動二輪車、原動機付自転車又は自転車を運転しないこと。
(4) 自転車を運転するときは、携帯電話用装置を手で保持して通話し、又は画像表示用装置に表示された画像を注視しないこと。
(5) 高音でカーラジオ等を聞き、又はイヤホーン等を使用してラジオを聞く等安全な運転に必要な交通に関する音又は声が聞こえないような状態で車両等を運転しないこと。ただし、難聴者が補聴器を使用する場合又は公共目的を遂行する者が当該目的のための指令を受信する場合にイヤホーン等を使用するときは、この限りでない。
(6) 積雪又は凍結により明らかにすべると認められる状態にある道路において、自動車又は原動機付自転車を運転するときは、タイヤチェーンを取り付ける等してすべり止めの措置を講ずること。
(7) 後退する場合において、車掌、助手その他の乗務員がいるときは、これらの者に誘導させる等後方の安全を確認すること。
(8) 後写鏡の効用を妨げるように、物を置き、又はカーテンの類を用いないこと。
(9) 警音器の整備されていない自転車を運転しないこと。
(10) またがり式の乗車装置に人を乗車させる場合は、前向きにまたがらせること。
(11) どろ土の路外から舗装された道路に入る場合は、車両に付着したどろ土を路面に落とさないための確認をし、かつ、その措置をとること。
(12) みだりに作業灯(車両の側面又は後面の周辺を照明するため当該車両に設けられた灯火をいう。)を点灯しないこと。
(13) 令第13条第1項各号に掲げる自動車以外の自動車若しくは原動機付自転車を運転するときは、緊急自動車の警光灯と紛らわしい灯火を点灯し、又はサイレン音若しくはこれと類似する音を発しないこと。
(14) 普通自動二輪車(原動機の大きさが、総排気量については0.125リットル以下、定格出力については1.00キロワット以下のものに限る。)又は原動機付自転車(以下この号において「原動機付自転車等」という。)を運転するときは、市町村(特別区を含む。)の条例で定めるところにより当該原動機付自転車等に取り付けることとされている標識及び当該標識に記載された番号を当該原動機付自転車等の後面に見やすいように表示すること。
(15) 道路運送車両法(昭和26年6月1日法律第185号)による自動車登録番号標又は車両番号標に、赤外線を吸収し又は反射するための物を取り付け又は付着させて、大型自動車、中型自動車、普通自動車(原動機の大きさが、総排気量については0.050リットル以下、定格出力については0.60キロワット以下のものを除く。)又は大型特殊自動車を運転しないこと。
(16) 大型自動二輪車又は普通自動二輪車の後部座席に、鉄パイプ、木刀、金属バットその他これらに類するものを携帯した者を乗車させて運転しないこと。

引っかかるのは(5)なのだけど…… 「安全な運転に必要な交通に関する音又は声が聞こえないような状態」でなければ良いような気がするけれどどうなんだろ? 法規の解釈の仕方はよく分からんのだけど,「高音でカーラジオ等を聞く」と「イヤホーン等を使用してラジオを聞く」は明記されているのでアウトとしても,これらに入らない「イヤホーンなどを使用してiPodの音楽を小音量で聞く」というのは引っかからない気がするが…… 少なくとも遮音性能の高い車の中からでも聞こえるような外音を拾える状態ならばいいんじゃなかろうか.さもなくばそういった車が全部アウトなのだし.そしてiPod はラジオじゃないし…… 

そもそも「安全な運転に必要な交通に関する音又は声」ってどれくらいの音なのか? 聴力だって人それぞれ違うわけで。ちゃんと物理的な単位で示して欲しい.まあ,面倒だから曖昧にしておいて何でもかんでも禁止しようということだろうけど.

ところで「高音」って法律の世界の用語なのか? 通常の意味だと周波数が高いことを意味すると思うのだけど. 

「ラジオ」ってのも専門用語なのか? よく分からん.通常なら「ラジオ等」という定義だろうから「ラジオ」と明記する以上は真にラジオな気がするのだけど……

結論:よく分からん.安全か否かを判断するのは自分ではないのでアウトなんじゃなかろうか? とりあえずもっときっちり定めて欲しい.

閑話休題.

(16)はオチなのか? 4輪の自動車の後部座席になら鉄パイプ持ったままの人を載せても大丈夫.警棒を持った警官を自動二輪の後部座席に乗せるのはアウト?

(3) を素直に解釈すると傘を手に持たずに自転車に付けてさしていてもアウトだよね.ところで同乗者が傘さしててもいいのだろうか?

Hadoop で大いに嵌った

ほとんど同じパターンで Hadoop を使いまくるので,面倒だから Hoge というクラスに Hadoop を動かす部分を全部書いておいて,それを jar に固めて $HADOOP_HOME/lib に入れておいた.使うときには,下みたいに Hoge にパラメータとなるクラス(例えば Fuga)を引数で渡すという形にする.

bin/hadoop jar Fuga.jar Hoge Fuga

で,Hoge の Hadoop 呼び出し部分を何も考えずに

  public static void main(String[] args) throws Exception  {
    //...
    job.setJarByClass(Hoge.class);
    //...
  }

とか書いて動かそうとしたら,Fuga のクラスが見つからねぇと Mapper の初期化時辺りに怒られまくった.しばらく理由も分からず…… 3時間ほど独り Hadoop 読み会をした.

結局のところ,job.setJarByClass の引数に Fuga.class のほうを指定しておかないとそれを含む Fuga.jar をワーカに転送してくれない,というオチ.こんなことそこら辺のドキュメントにちゃんと書いてあるような気もするけど,頭の中ではただのおまじないになっていたので全然気づかなかった.アホ.

でもまあ,ぶっちゃけコマンドラインに指定した jar を job.jar として転送してくれる設計でよいと思うのだけど,なぜにわざわざクラスをひとつ指定してそれを含む jar を job.jar として転送するとかいう仕様になっているのだろう?

とりあえず -libjars, -files, -archives で問答無用に必要なファイルを指定しておくのがよいのかもしれない.

閑話休題.

コードを読んでみての感想:org.apache.hadoop.mapred と org.apache.hadoop.mapreduce を行ったり来たりしているのでとても汚い.キレイな Hadoop が欲しい.

クラスタのセットアップで ssh の hostkey verification が面倒なので回避したい

http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html を見てみたら,

ssh user@host -o StrictHostKeyChecking=no

とかやれば初めてのホストでも

The authenticity of host 'testhost' can't be established.
RSA key fingerprint is .........
Are you sure you want to continue connecting (yes/no)?

が出ないでくれるので助かると.なるほど.さらに -o UserKnownHostsFile=/dev/null をつけてあげると hostkey が変わっても全く気にしないモードの出来上がり.

/config に

StrictHostKeyChecking no
UserKnownHostsFile=/dev/null

とか書いておくと不幸せになるのかも知れない.

アイスの消費が激しい今日この頃

最近クーリッシュのバニラをよく食べている気がする.適度に溶けたところを飲む形で食べられるので移動中に体を冷やすのにちょうどいい気がする.

で,コンビニとかでは希望小売価格の 126円 で売ってるのだけど,SEIYUに行ったら79円で安売りしてた.お値段2/3は結構お得な気がする.大量に大人買いしたいところだけど冷凍庫的にそれ程買えないのが難点.

SEIYUはハーゲンダッツの小カップも(種類限定のことが多いけど)198円で売っているのでアイスを買うにはいいところかも知れない.

«Prev || 1 | 2 | 3 |...| 881 | 882 | 883 |...| 1325 | 1326 | 1327 || Next»
Search
Feeds

Page Top