たごもりすメモ

コードとかその他の話とか。

Norikra meetupやってきた

Norikra meetup : ATND
DeNA Technology Seminar #Norikra meetup

Norikra がいい感じになってきたので、ユーザ(とコミッタ)もうちょっと増えないかなーと思い、Norikra meetupという勉強会をやった。会場、Ustream中継および懇親会を:DeNAさんにご提供いただきました。いつもいつも本当にお世話になっていますが、すばらしい会場をありがとうございます。

定員80人に対して参加は話す人も含めて60人ちょっとくらい? 自分が最近主催した勉強会はもっと出席率良かった気がするので気にしてなかったら、今回は少し低かった。もうちょっとサバ読んだ定員にしておけばよかった。補欠も含めた申し込み数は結局170人とかのままだったので、もったいなかった。
とはいえ、聞いてみたところこれから試してみる!という人がけっこういそうだったので嬉しい。みなさんでガンガン使ってガンガン広めていただけると非常にいいですね!

内容も基本的な使いかたからなんか極まった感じのまであれこれあって良い感じ。これまで本気でやろうとすると大分面倒だったことが割と気軽にやれるんだよ、という内容になってたと思う。たぶん。

しゃべってきた

ストリーム処理とはどういうもので、何が嬉しいのか、Norikraはどうなのか、みたいな基本まわりの話。

運用とかに効く突っ込んだ機能等のいくつかの紹介。

他の(弊社同僚なんかの)話にもあったけど、最初に書き上げた時点でサボってたor間抜けになってた実装はその後の運用期間にやっぱり問題として発覚していて、そのへんを既にちゃんと直してあるのは、ちゃんと手元で運用しているからこそじゃないかな、とは思う。関係した同僚にはご迷惑をおかけしまくってて申し訳ないんだけれども。w

Norikraに関しては他の自分のプロダクトからは考えられないくらいドキュメントも頑張ってるので、上記スライドで紹介した内容も含めて、いちど参照してみてほしい。お役立ち情報がいっぱいです。

http://norikra.github.io/

まとめ

やってよかった。いろいろ聞けた。

第2回は? という話があったけど、ユーザと使用例が増えたり変な機能が増えたりしたらしばらくして考えようかと思います。第2回をやろう、と決意する程度にユーザが増えてくれるんじゃないか、ぐらいの期待は持ってます。

さて、RedDotRubyConfからHadoopConferenceJapanを経由してNorikra meetupという流れが終わった。しばらくはちょっと落ち着いてコード書く……。

Hadoop Conference Japan 2014いってきた&しゃべってきた

Hadoop Conference Japan 2014- Eventbrite

今年も開催されたのでいってきた。主催者の方は本当におつかれさまでした。毎回規模がでかくて、これやるのは本当大変だろうなと思う。参加登録者は1299名だそうな。

全体的な空気としてはいよいよYARN移行が避けられず、その上に乗っかるデータ処理フレームワークとしてMapReduceも今後存在しつづけるもののSparkやTez*1が登場し、処理記述言語としてはもう単純な処理についてはSQL一択ですかね、という感じ。機械学習系やそのほかのワークロードはまた違うだろうけど。あとはMPP系のエンジンがその脇にある、という。

今回は事例の話が極端に少なくなって、みんな各コンポーネントについての話をしてた気がする。技術的には過渡期だということかな。いいことだ。

参加者アンケートでFluentdを使っていると答えた人が200人近くもいて、これは正直びっくりした。自分のセッションの最初にもちょっと聞いてみたところ、知っている人という質問にはおそらくほぼ全員の手が上がり、使っている人を聞いても半分以上上がっていたと思う。懇親会でもFluentdのことについて話しかけられることも何度も。なんかもう日本のログコレクタ界*2にすごい勢いで広がってるな。ひええ。

いっぽう知らない人から「ちょうどNorikra使ってみようと思っているところなんです!」と話しかけてもらった回数が5回を優に超え、これはこれからNorikra流行るのでは、みたいな……どうかなw

しゃべってきた(メイントーク)

SQLを処理記述言語としてバッチ処理およびストリーム処理の両方で用いることについて、またバッチ処理とストリーム処理の特性の違いと使い分け方法(および併用することの重要性とその方法)などについて話した。ちょっと定性的な議論が多くなって聞く人の印象はどうかなと思ったけど、Twitterとかでは良かったという反応も見られたので、まあ良かったと思うことにしておこう。
ストリーム処理は実際やってみると速報値の算出や異常検知などにたいへん便利なんだけれど、これまではStormを立ててその上でアプリケーションを書くくらいしか実質的には選択肢がなく、それはそれであんまりだよね、普通の人は分散処理を前提としたストリーム処理が必要なほどのトラフィックはそうそう持ってないでしょ、という話も出てきます。Hadoop Conferenceで非分散処理なソフトウェアの話をするのもちょっとアレだったけど、まあ、まあ。

無事に終わったので総じて良いのではないでしょうか。

しゃべってきた(LT)

メイントークとLTと、どちらか通ったらいいなと思っていたら両方通ってしまったので、こっちもやってきた。じつは最近も開発がちゃんと行われておりYARN対応したりPresto対応したりしているShibの話。便利なのでみんな使うと良いと思います。

いっぽうLTだしと思って笑いを取りにいったところ非常に反応が薄くつらい思いをした。ハードル高い。

まとめ

じつに面白かったのでまたやってほしい!

そして今日は Norikra meetup ですよ!

*1:そういえばTezの話は無かったな、どっちかというとそちらを聞きたかった

*2:狭そう

RedDotRubyConf 2014に行ってきた&発表してきた

シンガポールで行われるRubyのカンファレンス RedDotRubyConf 2014 に出したプロポーザルが通ったので、Fluentdについて紹介してきた。旅費は勤務先のLINE株式会社に出してもらいました。

RedDotRubyConf 2014

RedDotRubyConf のオーガナイザーは配慮がすごくて、accept後の旅行の手配やら向こうでの行動やら、いろいろ気にかけてもらった。カンファレンス前夜のスピーカーディナーとかあるのも個人的にはすばらしいと思う。あれで色々な人としゃべれて、イベントへの入りみたいな気分がかなりできて落ち着けた。

Fluentdは日本国内ではもうだいぶ認知されて使われているようだけど、海外だとアメリカで少し紹介されたくらいで、ユーザも少しずつ増えてはいるけどまだまだ、という状況だと思う。なので敢えて基礎から紹介する、という意味はあるだろうと思う。

実は自分にとってこれはたった2度目の海外旅行、しかも1度目は人に連れていってもらいほぼ着いていくだけ、行き先でもカンファレンス会場のあるホテルに籠もりっきりという感じだったので、海外で街中を一人でふらふらするのは完全に初の経験だった。しかも発表も英語でやるのはこれが初めてで、もう何もかも初めて尽くし。いろいろたいへんだった。

とはいえ、結論を書くと、シンガポールは初めて行くにはすごくいいのかなーという気がする。安全だし清潔だし交通機関は整っていてモバイルネットワークもどこでも普通に使える。
英語が通じるし、色々ななまりの人がいるからか、発音が聞きとれない、ということに関して割と寛容な人が多いんじゃないかなあと感じた。聞き返してもあんまり嫌な顔されないし、こっちが英語があんまりできないと分かるとすぐにゆっくり丁寧に話してもらえることが多かった。

自分の場合、東京で英語で話す機会がたまにあると、下手な英語をしゃべったり言葉に詰まったりしつつもコミュニケーションをとろうと頑張るんだけど、すぐに自分が何を言ったかを思い返して反省してしまうことが多い。英語の下手さばかりを自分に印象付けてしまってあんまり良くないなとは思っていた。*1

現地にいって否応なく英語にさらされていると、そういう変な内省みたいなものをする暇もなく次々と会話の機会がやってきてぶっちゃけ個々の事例(というか使った英語の文章自体)を覚えてられないので、最終的に「なんとかなった」という気分だけが残った。
今回日本からの他のスピーカーであるところの @_ko1 さんこと笹田さんと @hsbt さんこと柴田さん、どちらも慣れていて動じないし、さすがという感じしかしない。

英語圏で働きたい/生活したいとは特に思わないけど、ソフトウェアエンジニアをやっている以上は英語からはなかなか逃げられないし、自分(達)のOSSプロダクトを広めようと思えば海外の人に使ってもらわないと先がない。そのための最初の一歩としてはなかなか良かったんじゃないかなと思う。

しゃべってきた

で、Fluentdの話。日本のみなさまにはお馴染みの話かなあ。

初めての英語でのプレゼンということで、珍しく事前に資料作って会社で同僚を相手に練習とかもやって、フィードバックをもらって直したりしてた。同僚各位、その節はお世話になりました。

トーク中に聞いてみたところ、Fluentdを知っているかとの質問に会場の1/3くらいの人が手を挙げるということで、えええっ思ったよりは認知されているのだな、と。Q&Aでも既にFluentdのユーザだという人からの質問があったし(内容はメッセージのロストに対する対策は?とのことで、ACKとかの話も含めた回答をした)、そもそも司会役の人もFluentdのユーザだったり。After partyで聞いたところVikiもHQがシンガポールらしくて、そういえばその会社Fluentdユーザだって聞いたことあるわー、みたいな。

終わった直後はさすがに疲れて放心状態。翌日のお昼やAfter partyであれこれ聞いたら、特に聞きとれないような場所もなく普通の発表だったと思ってもらえていたみたい、だと思う。たぶん。
しかもこれまでFluentdを知らなかった人からも割とポジティブな反応がいくつもあって*2、やった甲斐はあった。これでこれまでに増して広まってくれると嬉しいなあ。


その他のRDRCの話

アメリカやその他の地域から来ている有名Rubyistがスピーカーにけっこう多く、その他も東南アジアやインド・オーストラリアなどの各地から来ていてものすごく多彩。いろんな種類の英語があってヒアリングの練習に良い。……そして話の間にはさまる小粋なジョークが聞きとれない&理解できなくてつらい。

とはいえ技術的な話題としては国内のカンファレンスと較べて違いがあるかというと、全体的にはそう違わないと思う。もちろん個々の話はいろいろ面白かったりスゲーなという感じだけど、まあそれは国内でも同じ。
そういう意味で日本のカンファレンスに参加してれば技術的なレベルはまあいいのかもなんだけど、逆に、普段やってることを持ってくればみなさん十分にスピーカーになれますね、と思う。

お昼の時間やAfter partyで、スピーカーをやっていれば顔を覚えてもらえているし話題もあるので話しやすい、というのも国内のカンファレンスとまったく同じ。
さすがにLINEは知られるだけはけっこう知られていて、Fluentdの話のほかにLINE自体の話もけっこう聞かれた。みんな他社が何をどうやっているかというのに興味はあるよなあ。そしてRDRCでそういう話ってほとんどなくて、もうちょっと各社がどういうソフトウェア構成で何をやっているかの話はあってもいいんじゃないかなと思う。

あと台湾から来てる人で自分のスライドとかを物凄く良く読んでくれている人がいて*3、地道に英語で書くようにしているとそういうこともあるんだなあとちょっと感動した。

まとめ

シンガポール、狭いところでいろいろな人種と文化と宗教の詰め合わせみたいになっていて、あらゆる意味で多様性があってものすごい感じだった。とにかく国内でできない経験ばっかりで、だいぶ疲れたけど、行ってみて本当によかった。

多分また次の良さそうな機会があれば、そこにプロポーザルを出してみると思う。その程度にはいい結果だった。楽しかった!

*1:しかしもしかしたらこういう行為のおかげでベターな英語の蓄積が自分の中にできていたのかもしれない、とも少しだけ思う。

*2:しかもGithubから来てるスピーカーの人からも、とか!

*3:質問がものすごく細かいところについての話でびびった

Hadoop Conference Japan 2014で発表しますのお知らせ

Hadoop Conference Japan 2014というイベントが来週 7/8(火) にありますね。

Hadoop Conference Japan 2014 Tickets - Eventbrite

で、そこでメインセッションでの発表をひとつ、あとLTでの発表をひとつやります。
メインの発表はSQLをネタにしたバッチ処理系とストリーム処理系との比較をネタにNorikraの紹介をします。らむだあーきてくちゃ! どっちかというとNorikraの機能とかの詳細よりは、どう使うか、どういうシステム構成になるか、みたいな話が中心になりそうです。
LTの方は最近Prestoに対応したり機能がいくつか増えたりして延々改良されつづけているShibについて。むしろどうやって笑いを取るかが目下の悩みどころ。

他のセッションはいよいよ実用段階に入ってきたと噂のYARNの話とか聞きたいですね。運用ね。あとLTにNorikraの話があって心底びびっております。

毎年直前になってどっと参加登録が増えるようですが、それもちょっと困ると中の人が言ってますので、行くつもりのある人はみなさん早目に登録してあげるといいと思います。ベルサール汐留でぼくとあくしゅ!

なおNorikraの機能詳細などについてはHadoop Conference Japan 2014の翌日にNorikra meetupというイベントがございまして、こちらでやります。が、既に満席をはるかにぶっちぎって埋まっております。残念でした。こちらのイベント、行けないという人はお早目にキャンセルをお願いします。

Norikra meetup : ATND

またHadoopにもNorikraにも興味はないがどうしてもtagomorisにひとこと物申したいということがあるお方については、こちらに謎のイベントがございます。

#morisnite : ATND

こちらからは以上です。

Software Design 2014年7月号にWebサーバについての記事を寄稿しました

表題の通り、書きました。既に18日に発売されています。

Software Design 2014年7月号

「そろそろNginx移行を考えているあなたへ」というタイトルの第1特集で、全7章構成のうち5、6章を担当しています。特集全体はデータホテルとLINEの人達で書いたものです。
Nginxについての特集となっていますが、Nginxに限らずWebサーバやWebサービス全体に関係する話も多く、技術的なカバー範囲は比較的初心者向けに振ってあるとはいえ、それなりに運用に慣れてきた人にも一読の価値があるのではないかと思います。

自分の章では、特にサイト移転やWebサーバミドルウェアの切り替え時にどういう確認が必要か、どのような切り替え手順をとったらよいか、切り替え後の確認に何をすべきか、などを書きました。
前提としてApacheからNginxへの移行となっていますが、ハードウェア都合でサイト移転をする場合やサーバホスティング先を変更する場合などにもお役立ちな内容となっております。特に各クラウド事業者などを渡り歩いている方々なども頭に入れておくと良い内容かもしれません。

どうぞよろしくお願いします。

そこそこでかいmapreduceを実行したらsplitが多過ぎて死ぬ

えいやっとHiveクエリを実行したら、しばらくゴリゴリ走ったのちに "Split metadata size exceeded 10000000. Aborting job ..." というログとともにクエリがkillされた。
えーと思って調べて以下の設定を mapred-site.xml にぶちこみJobTrackerとHiveServer2を再起動。

<property>
    <name>mapreduce.jobtracker.split.metainfo.maxsize</name>
    <value>-1</value>
</property>

そののちおもむろにクエリを再実行したところ、今度はshibのクエリ実行時間タイムアウトを延ばし忘れていたというオチがついた。mapreduceは走ってた。めでたしめでたし。

Ansible勉強会#1 にいってきた&しゃべってきた

Ansibleの勉強会あるといいねーという話をしていたら開催されることになったAnsible勉強会#1にいってきた。んでしゃべってきた。

Ansible 勉強会 #1 - connpass
Ansible 勉強会 #1 - 資料一覧 - connpass

開催はIanががんばりました。おつかれ! あとレッドハットさんの会場を借りての実施がたいへんスムーズですばらしかった。なぜか申し込みが殺到して、新宿のほうでリモート会場まで用意されたようです。なんだそれすごい。
使ったこと無い人もけっこう参加してたようで、まあどういうものかは伝わったのかなあ。ユーザがどんどこ増えるとよいですね。

で、いろんな人がいろんな話をしててだいぶ面白い感じだった。わかりやすいansibleとはいえ他人の使いかたを聞いてると知らないこともちらほら出てくるものなので、勉強会やってるとそういうのがあってよい。

しゃべってきた

仕事で最近使ってるので、その使いかたについて、特にDynamic inventoryの機能/作りかたを中心にしゃべってきた。

ホスト情報の管理をplaybookと同じ場所でやるの、だいぶ非効率だと思うので、みんな適当に手元環境でハックするといいんじゃないかなと思う。