snuffkinの遊び場

IT関係、スポーツ、数学等に関することを、気が向いたときに書いてます。

日本のプロサッカーで一番バルサに近いのはレオネッサだと思う

サッカー日本選手権の決勝に行ってきました。
「元旦の国立競技場で女子決勝と男子決勝のダブルヘッダー」というのがここ数年の流れのようですが、実はダブルヘッダー制になってからは行くのは初めてです。

なでしこリーグが毎年レベルアップしているのを感じるのですが、レオネッサの試合を見るのは初めて。だって、2010年まではベレーザとかレッズにしか興味なかったですし。諸事情によりベレーザからレオネッサに主力が移籍してからは、レオネッサの試合を見てみたかったのですが、ようやく実現しました。結果から言うと、ビックリ。かなり楽しめ、「サッカーは生が一番」と改めて思いました。

レオネッサのスタメンのうち7人は、なでしこジャパンのメンバー(ロンドン五輪予選=最新の代表招集メンバーを基準にしています)。今年のなでしこリーグは無敗で優勝。なでしこリーグでは1試合平均3点取って、0.5点しか取られない強さ。どんなサッカーなのか興味ありました。
実際始まってみてビックリ。パス中心のサッカーなのですが、ディフェンスラインからしっかりパスでつなぐ。その徹底振りが半端ない。
自陣ゴール前でプレッシャーを受けたら、前にクリアするじゃないですか。中盤にパスを出す場所が見当たらなかったら、縦にロングボールを蹴りたくなるじゃないですか。けれど、レオネッサは、基本的に、クリアしないし、DFが縦にロングボールを蹴ったりしません。
マイボールになったら、そこが自陣ゴール前であろうとパスでつないで攻めます。相手のセンタリングをDFがトラップしてドリブル始めたりします。パスミスしたら失点のピンチの場面でも、パスを選択します。これは凄い。相当自信があってチーム全体で徹底できないと、実現できません。パスミスして、ピンチになることもしばしばですが、徹底してパスでつなぎます。
(フォーメーションも守備の仕方も違うけど)この点については、バルサじゃないですか。スキル的にも実現できていることも遠く及ばないですが、精神的にはバルサに近いのでは。国内のプロサッカーで一番バルサに近いサッカーをやっているのはJ1のチームではなく、レオネッサなのでは。なでしこジャパンを「女子サッカーのバルセロナ」と例えるのを聞くことがありますが、実はレオネッサがベースにあるからなのでは? スペイン代表が強いのはバルサがベースだからだと思うのですが、似たような関係がなでしこジャパンとレオネッサにもあるのでは?(とは言っても、なでしこジャパンはクリアしますし、やりたいサッカーも全く同じじゃないでしょうが)
もし、この戦い方を数年続けて成長できれば、凄いチームができるのではないでしょうか。もっとパス速度・精度が上がって、もっとパス選択肢が増えるように選手が動くようになるのが楽しみです。女子のトヨタカップを見てみたいです。こういうチームの試合は今後も見てみたい。せめて、テレビ放送を増やして欲しいな。ニュースで見るゴールシーンだけじゃ分からないです。
あっ、試合はレオネッサが3-0で圧勝でした。川澄選手が左サイドから再三チャンスを作っていたのが印象的でした。

YARNの新機能 Capacity Scheduler

Hadoopアドベントカレンダー2011 on Zusaarの12/18を担当する@snuffkinです。

さて、先日、Hadoop 0.23がリリースされました。
今回のリリースでは、HDFSフェデレーションや次世代MapReduce(YARN)といった新機能が導入され、アーキテクチャに大きな改良が加えられました。そのため、Hadoop 0.23は「メジャーバージョンアップのためのRC版」といった感じです。

そんなHadoop 0.23の中で私が注目している機能のひとつに「Capacity Scheduler」があります。以下のApacheのサイトを見るとCapacity Schedulerについて解説が書いてあります。

Hadoop MapReduce Next Generation - Capacity Scheduler

Overviewの部分に書いてありますが、Capacity Schedulerは「マルチテナントなクラスタで、スループットやリソース使用量の最大値を設定できるようにする」ということを目的に開発された機能です。Hadoopクラスタを利用するorganizationごとにSLAを設定して、その範囲内でHadoopクラスタを利用できるようにしたいようです。Hadoopがインフラ化つつあり、マルチテナントなクラスタとして組みたい需要が出てきているということですね。

将来的には様々なリソース使用量をサポートするようですが、Hadoop 0.23のCapacity Schedulerではメモリ使用量のみがサポートされています。

YARNのインストール方法については、hishidamaさんのページが分かりやすかったです。書いてある通りに進めれば、すんなりインストールできます。

YARNの中で、私が実用上便利だと思った機能はコレ(というか、ないと使いものにならない?)。Changing Queue Configurationの部分に書いてありますが、Capacity Schedulerの設定はHadoopクラスタ稼働中に動的に変更可能です。設定変更する場合はconfディレクトリのcapacity-scheduler.xml(デフォルトのインストールでは存在しないので、自分で書く必要があります)を書き換え、$YARN_HOME(いわゆる$HADOOP_HOMEですね)で以下のコマンドを実行してください。

bin/yarn rmadmin -refreshQueues

Apacheのサイトには「bin/rmadmin -refreshQueues」を実行するように書かれていますが、そのまま実行しても「そのようなファイルやディレクトリはありません」と怒られてしまいます。誤記だと思います。

で、開発者としてやってみたくなるのは「実際にCapacity Schedulerを書いてみたい」ってことですね。さて、書いてみよう!
って思ったのですが、意外とヘビーですね。CapacitySchedulerはorg.apache.hadoop.yarn.server.resourcemanager.scheduler.capacityパッケージに入っているのですが、実装しないといけないメソッドが多そう^^; 自分でCapacity Schedulerを実装する方法については、今後何度かに分けて書いていきます。

さて、明日は、@aoetkさんです。よろしくお願いします〜(すみません。最初、翌日書く人を間違えていました^^;)

YARNのコマンドrmadminのhelpについて

ちょっとしたTIPSです。「bin/hadoop」のときと同様に、YARNになってもhelpを表示する機能があります。例えば、

bin/yarn rmadmin

を実行すると、

Usage: java RMAdmin
           [-refreshQueues]
           [-refreshNodes]
           [-refreshUserToGroupsMappings]
           [-refreshSuperUserGroupsConfiguration]
           [-refreshAdminAcls]
           [-refreshServiceAcl]
           [-help [cmd]]

Generic options supported are
-conf <configuration file>     specify an application configuration file
-D <property=value>            use value for given property
-fs <local|namenode:port>      specify a namenode
-jt <local|jobtracker:port>    specify a job tracker
-files <comma separated list of files>    specify comma separated files to be copied to the map reduce cluster
-libjars <comma separated list of jars>    specify comma separated jar files to include in the classpath.
-archives <comma separated list of archives>    specify comma separated archives to be unarchived on the compute machines.

The general command line syntax is
bin/hadoop command [genericOptions] [commandOptions]

と表示されます。こういう、ありがたい機能は好きです。「-help [cmd]」と書いてあるので、先ほどの-refreshQueuesオプションの解説を見てみましょう。

bin/yarn rmadmin -help -refreshQueues

上のコマンドを入力すると、以下の結果が返ってきます。

Usage: java RMAdmin [-refreshQueues]

オイオイ、そりゃないでしょ。これじゃ意味が分からない。。。
困ったと思いきや、ちゃんとhelpを見る方法があります。

bin/yarn rmadmin -help

とすると、以下のような結果が返ってきます。

rmadmin is the command to execute Map-Reduce administrative commands.
The full syntax is:

hadoop rmadmin [-refreshQueues] [-refreshNodes] [-refreshSuperUserGroupsConfiguration] [-refreshUserToGroupsMappings] [-refreshAdminAcls] [-refreshServiceAcl] [-help [cmd]]

-refreshQueues: Reload the queues' acls, states and scheduler specific properties.
                ResourceManager will reload the mapred-queues configuration file.

-refreshNodes: Refresh the hosts information at the ResourceManager.

-refreshUserToGroupsMappings: Refresh user-to-groups mappings

-refreshSuperUserGroupsConfiguration: Refresh superuser proxy groups mappings

-refreshAdminAcls: Refresh acls for administration of ResourceManager

-refreshServiceAcl: Reload the service-level authorization policy file
                ResoureceManager will reload the authorization policy file.

-help [cmd]:    Displays help for the given command or all commands if none
                is specified.


Generic options supported are
-conf <configuration file>     specify an application configuration file
-D <property=value>            use value for given property
-fs <local|namenode:port>      specify a namenode
-jt <local|jobtracker:port>    specify a job tracker
-files <comma separated list of files>    specify comma separated files to be copied to the map reduce cluster
-libjars <comma separated list of jars>    specify comma separated jar files to include in the classpath.
-archives <comma separated list of archives>    specify comma separated archives to be unarchived on the compute machines.

The general command line syntax is
bin/hadoop command [genericOptions] [commandOptions]

この方が良いですね。「[cmd]って使えないじゃん」という気もしますが。。。
以上、ちょっとしたTIPSでした。

第7回Hadoopソースコードリーディングに参加してきました。

11/28に豊洲のNTTデータさんのところで行われた、第7回Hadoopソースコードリーディングに参加してきました。その感想等をまとめておきます。

全体的な雰囲気

今回の内容はソースコードリーディングはなく、Hadoopカンファレンス・フィードバック会。第7回のためか、知り合い同士、という方は結構多かった感じ。(私は初参加でした)
会場に行くと、机で島を8個くらい作ってあり、机の周りに座った。正面向きに座るわけではないので、かしこまった感じはなく、ざっくばらんな感じで良かったと思います。お酒やピザも出たため、このレイアウトは食べやすいかったです。
また、会の最後には、ニューヨーク土産の争奪戦などでも、盛り上がっていました。

講演その1

最初は、NTTデータさんのフィードバック。
前半は「Hadoop徹底入門」の著者の一人の下垣さんから、基調講演を中心としたフィードバック。全体的な傾向の分析として、以下のような3層構成で考えているアーキテクチャが多いとの事。

  • リアルタイム処理(NoSQL)
  • 大量データ処理(Hadoop、ハードウェア)
  • 分散処理(BI、DWH)

上記のそれぞれの特徴に合った技術解を選択するのが大切。どこかの層に特化したもの(特化型)が多い中、Oracleは全部の層に対して製品を提供している(全方位型)。今後のHadoop周りは、全方位型vs特化型になるのではないか、とのこと。 
下垣さんのフィードバックは、講演スライドの英語部分の日本語訳がパワーポイントに書いてあったので、頭に入りやすかった。
また、The Walt Disney Companyでテーマパークの交通流解析に取り組んでいるのは面白い。待ち時間が短くなったり、多くの人が幸せにテーマパークを回れるようになって欲しい。
NTTデータ後半戦は、政谷さん。自身がHadoopカンファレンスで発表した内容のサマリをフィードバックしていました。私はGPGPUで処理を高速化する話に興味を持ちました。やっぱり、Hadoop+αが大切ですね。

講演その2

次は、Clouderaのサポートエンジニアの嶋内さんから、実例を分析したHadoopトラブルシュート話のフィードバック。
問題原因で一番多いのは設定ミスで35%を占める、とのこと。バグはコミュニティがサポートするけれど、設定は利用者が責任を持つ必要がある。
デフォルト値では危険なパラメータなど、結構マニアックな設定の話だった。知らない設定も多く出てきたので、勉強しておいた方が良さそう。メモリを3GBとっておく話、Reduceをゆっくりスタートさせる設定(メモリ不足対策)、ReduceがMapの結果をコピーするスレッド数はノード数の平方根にしろ、とか。マニアックですが、正しく使うには必要な話。

講演その3

Acroquestからは阪本、落合の二名がフィードバックを行いました。二人でやるのが新鮮で、反応が良かったですね。
冒頭に紹介があったアフリカのお酒Amarulaは面白かった。像を始めとした動物たちがフラフラに酔っ払っているのは、不思議な映像でした。内容としては、RとHadoopの連携など。Rに多少興味はあるので、こういう話は好き。

最後に

次回は1月開催予定。内容も雰囲気も良かったので、また参加したいです。
運営してくださった方々、本当にありがとうございました。