White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

年末の流れ

ここ数日いろいろあったのですが、日記を書くのも雑になってしまったので、軽く書いておきます。

 

大学で講義しました

電気通信大学で一コマ、Hadoopのインストールの演習をしました。準備不足などもあり至らないところも多かったと思います。やはり事前準備大事ですね。。

Miix2 8が壊れた

ネットにもよく報告上がってるようですが、タッチパネルが効かなくなりました。Bluetoothでキーボードやマウスは繋がるので、寝床ノートかなぁ。しかしX220もあるんだけど。

そのかわりにClide 9を買いました。iPad mini相当だと思って買いましたが、一回り大きいですね。

<iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=showyou0b-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00TGD0YNA" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

A16になりました

f:id:showyou:20151231233418p:plain

数ヶ月駅メモに浮気してたんですが、最近久々に始めてなんとか年内に16まで上がりました。最近は毎日30分歩いているので、そのついでにプレイしています。

Dockerでshmmaxが小さい云々対策

Docker 1.0 でDBを動かすときの共有メモリの設定 - No way!

など昨年書かれているのだけど、どうも今のバージョンはdocker -d -e lxcしてlxc-driverを使っても、kernel.shmmaxが変更できない。OSはUbuntu14.04LTS+docker1.6.2。

もしかしたらDockerのアップデートで直るかもしれないけど、下記のスレッドを参考にして直した。

 

how can i change the value of /proc/sys/kernel/shmmax in a container? · Issue #10176 · docker/docker · GitHub

 A change went into Linux kernel V3.16 which fixes this. Previously, the shared memory allocated to containers was hard-coded to 32 MB, and now it's set much higher.

 

.Ubuntu14.04のkernelは3.13だったので*1

apt-get install linux-image-generic-lts-vivid 

としてkernelのバージョンを上げて対応した。

 

ちなみになぜshmmaxが上がらないと困るかというと・・それは今度。

 

しかし数か月後にはこの記事役に立たなくなってそうだなぁ。。。

*1:当然あとで変わりそうだけど

Greenplum DatabaseがOSSで公開されたのでビルドしてみた

注)個人の所感なんで所属会社等の意見とは違うかもしれません
 

Greenplum Databaseとは?

雑に言うと並列動作するPostgreSQL8.2です。Pivotal社の製品ですがソースが公開されました。

http://greenplum.org/

Pivotal、高速データ分析が可能なデータベース「Greenplum Database」をオープンソースとしてリリース:CodeZine(コードジン)

んで公開されたのでビルドしてみました。
単純に触るだけなら上のサイトからVMをダウンロードすればいいかと思います。
 

今年もあと三ヶ月なので3ヶ月でやりたいことを書いておく

最近は朝起きるのが辛いのと、家に帰宅してから新しいことを学ぶ余裕もない感じに忙しく、すっかりダメ人間と化している。

 

今週で10月に入るので、意識低くともできるとこからやっていきたいと思う。

  1. 英語 本来は英会話スクールに行こうと思ったが、仕事の方が忙しく行く余力もない
  2. データ分析周り データ分析基盤は嫌というほど触ってるが、その上の分析の仕事はなかなか触れてないので慣らしてみたい
  3. 新規情報収集 論文とかも読めてないので、数本読むようにする。
    参考:EMNLPが10月末に行われるようで

    EMNLP2014読み会を開催しました | Preferred Research

  4. 実装 上で読んだものを血肉化するために実装できないか?

あとPyconJPは今年は関われてないですが、結構データ系も継続して採択されてるような感じなので、聞きにいきたいかなぁ。今年はデータサイエンティスト協会のシンポジウム(http://www.datascientist.or.jp/symp/2015/)もあるし、他にもいろいろ調整せねば・・

Ambari + EC2 spot instanceでHadoopクラスタを30分で作る

軽い事前準備はいりますが、Ambariを使うと複数台のHadoopクラスタを30分くらいで一気に作ることができます。

タイトルではEC2 spot instanceとか書いてますが、単にマシン大量に用意しているだけなんで別にAzureとかGCEでも他のIaaSでもいけるかもしれません。またここではHDP使ってますが同じくAmbari使ってるPivotalHDもいけるはずです。

 

ドキュメント

http://docs.hortonworks.com/HDPDocuments/Ambari-2.1.0.0/bk_Installing_HDP_AMB/content/ch_Getting_Ready.html

 

細かい設定は後ほど書きますが、Ambari-server入れたマシンとSELinuxとか切ったイメージは用意しておく必要はあります。あとセキュリティの設定もしておく必要があります。

 

んで、インスタンスをspotで大量作成。こんなことしなくてもm3.xlargeとかを少量建てたほうが効率いいでしょうけど。

f:id:showyou:20150830232233p:plain

f:id:showyou:20150830232037p:plain

建ちました。

Ambari-serverマシン立ちあげて、ログインします。

f:id:showyou:20150830232255p:plain

インストールするHDPのバージョンを選びます。URLの空欄は、HDPのRPMを入れた内部IPを入れています。s3をrpmリポジトリにするのもいいかもしれません。

f:id:showyou:20150830232409p:plain

インストール先を入力します。例によって各マシンの内部IPです。今回30個Spot建てたので30個分IP貼っつけてます。

f:id:showyou:20150830232553p:plain

インストールするコンポーネントを選びます。この前にHBaseとか、OozieとかSparkを選択する画面があります。

f:id:showyou:20150830232731p:plain

Hiveは管理用のパスワードが必要なので、入れています。

f:id:showyou:20150830232911p:plain

インストールを進めます。あとは勝手にNamenodeやDatanodeをインストールしていきます。

f:id:showyou:20150830233005p:plain

f:id:showyou:20150830233140p:plain

インストールが終わりました。実際インストール自体は30分くらいなのですが、今回はSpotの価格が安くていくつかインスタンスが落とされたため、価格を再設定して立てなおしたりしましたのでもっと時間がかかっています。

f:id:showyou:20150830233208p:plain

セットアップが終わったら結果が表示されます。今回はセットアップ自体は22分で出来ています。

f:id:showyou:20150830233415p:plain

30台のクラスターが並んでいます。

f:id:showyou:20150830233528p:plain

Map=20でPIのサンプルを回したときの結果です。

f:id:showyou:20150830233623p:plain

 

使い終わったら、各インスタンスをterminateします。ディスク自体はEBSで残しておくこともできますが、再度インスタンス作るときに内部IPが変わるのでその辺別途設定がいるかと思います。Blueprintとか使って作りなおした方が速いかもしれませんが、まだBlueprintを把握してないのでそれはこの次。あとAmbari-serverは

$ ambari-server stop

$ ambari-server reset

すると再度初期セットアップに戻ります。

 

というわけで、Ambariを使って素早くHadoopクラスタを作る方法について書きました。ただ大規模計算をしたいならEMRを使った方がいいかもしれませんが、一度Hadoopクラスタ複数台でいじってみたいって人にはいいかもしれません。

後日やる気が出たら詳しい設定方法について書いていきます。

EC2にsshキーで入れなくなった件

久々に新規でインスタンスを建てたのだけど、作成したのが公開鍵で入れず、毎回root@ec2-なんとか’s password:と聞かれる。ちなみに公開鍵は新規での作成と手持ちの公開鍵の両方使用。手元の鍵のpermissionは設定済み。

 

原因判明。OSのイメージが古いからっぽい。。。マイAMI作りなおしかこれ。。