インストール後にhue自体のソースを変更するのは見通しが悪くなるため、hue.iniにcacheという項目で設定変更できるようにしました。その設定はdesktop/core/src/desktop/conf.pyで読み込まれるため、そこにCACHEという項目を追加。defaultの値は、hueがdjango自体のglobal_settings.pyの値をそのまま使用しているためそこに準拠しました。最後に、djangoアプリとしてのhueに反映させるため、desktop/core/src/desktop/settings.pyに各設定を上書きできるようにします。実際にインストールしたあとは、hue.iniのcacheのbackendをbackend=memcached://example.local:11211なんて設定すればOKです。key_prefixはお好みで。衝突する可能性があるなら何か入れておいた方がよいかもしれません。手元の環境ではpythonのmemcachedクライアントがなかったのでpython-memcachedをpipなんかでインストールする必要があるのですが、それもrpmbuildする際に組み込まれるようにしました。こちらはpypiから(https://pypi.python.org/pypi/python-memcached/)ソースをダウンロードしてきて展開しました。tar.gzの展開先は、hueのdesktop/core/ext-py/以下に展開するだけでOKです。展開した後のライブラリ群はこんな感じになると思います。urllib2_kerberos-0.1.6以上の変更をしたあと、rpmbuildを行います。自分の環境だとJDK1.7環境だったため、hue-2.5.0-cdh4.4.0/maven/pom.xmlのjavaVersionとtargetJavaVersionを1.7にしてビルドしました。Dependenciesを参考にインストールしておいてください。長くなってきたので、ここでSRPMのダウンロードからビルドするところまでの流れを書いてみます。SPECS/hue.specこれでできたrpmをインストールすればめでたく改造版hueのインストール完了です。インストール後、hueは標準でsqliteを利用しているため、複数のhueから参照できるようにmysqlやpostgresqlにsyncする必要があります。Database」にありますので、その手順に従ってください。valueといったエラーでsyncdbがうまく動きません。MySQL5.6で今までのVerでは問題無かったSQL文がエラーになった場合の対処法これについては、my.cnfにsql_mode=''と設定してあげるのが(共存している他のdbに影響がなければ)一番手っ取り早いです。共存したdbに置くためmysqlの再起動がしづらい環境だったり、sql_modeを変えるのが厳しい場合は(自分の場合は共存してるdbをあまり止めたくなかった)、migrationのファイルを変えてあげればなんとかなります。hueはsouthというmigrationツールを使っているのですが、southが生成するファイルに手を加える形になります。proxyの設定のbalanceをroundrobinにしても無事に動いています。beeswaxサーバーのホストは1つ選んで指定してあげないとうまくhueからhiveクエリを投げられないので若干片手落ち感はあります。その辺の課題は今後という事で。calendar14日目の記事でした。明日の15日目は@hishidamaさんです。オペレーションを買ってみましたスチールです。オペレーションが発売されたのでさっそくぱらぱらと読んでみました。オライリーの紹介文に本書はHadoopの管理と運用に焦点を当てた本です。Hadoopのクラスタ計画から、認証、リソース管理、またクラスタのメンテナンス、モニタリング、バックアップとリカバリなど、Hadoopを使う際に必要なトピックについて網羅しています。管理と運用に焦点があたっておりますが、1~5章は実際に構築、運用する前に読んでおきたい内容がたっぷり書いてあります。Hadoopクラスタの計画)も読んでおきたい感じです。個人的には現状絶賛運用中なので10章のモニタリングとか読んでおきたい感じで、余裕のあるときに9章のトラブルシューティングとか目を通していざというときに備えておきたいと思います。付録Aのプロパティ一覧は、あれこれ調べてる時なんかに、非推奨前のプロパティ名行き当たって、さて現環境だとどうなんだという際にうれしいですね。HAのアーキテクチャと動作の詳細です。付録Dは勉強になりました。Manager欲しくなります、はい。付録CのHueはすでに導入しておりますが、大変便利に使っております。フルに使いこなせてない感じですが。そんなわけで、後半6章以降は辞書的に使っていきたいので、象本とかより分厚くはないですがカジュアルに持ち運ぶには重たいのでPDF版の登場が待たれます。(象本第三版はちょっと前にPDF版出ましたね!)象本、徹底入門に続いて、Hadoopを運用する人はぜひ職場やおうちに揃えておきたい一冊です。2013に行ってきました。写真はお土産のClouderaカステラ。僕が聞いてきたセッションは以下です。(全セッションはこちら。現状とまぁ、Clouderaの中の人のセッションを半分以上選びました。いうのもCDH5がどうなるのかなぁというのがすごく気になっていたので。一つ一つのセッション書くのはつらいのでざっくりと。Manager上で管理できるようになったりと、Cloudera自体もかなりYARNに本腰入れてきた感じがします。一応職場の環境でもImpalaは利用しているんですが、ちょっとはしゃいだ感じのクエリを投げるとMapReduceなタスクとリソース食い合って、監視しているGangliaが真っ赤に染まってこっちの顔は真っ青になるなんてことがあったんですが、これが解消されるだろうというのはとても大きいです。5はβ1ということなんですが、早めに開発環境の方でアップデートの手順を整えてもいいかななんてチームでは話しておりまして、採用する気満々な感じです。Managerなんですが、これは話を聞けば聞くほど使ってみたい感じがしますね。ちなみに無料版のStandardがあるので、試しに開発環境で使ってみたことあるんですが、確かに構築がめちゃくちゃ簡単です。Managerを使うと基本的にすべての運用がManager経由になって、設定ファイルの場所が通常と違うパスに置かれて管理されるみたいでManager外から他のツールを組み合わせて運用しようとするとちょっとつらくなるかなという感想です。日頃の運用はpuppetやcapistranoなんかで構築済みだったため、Standardであれば、今の環境でもいいかなぁということで、お試しで終わった感じです。Enterprise版だと話は違って、Clouderaのノウハウがぐっと詰まった感じで、これさえ入れればOKな感じがやばいです。一発でアップデート、一発で前のバージョンにロールバックとかパないですね。あと監査機能とか、リソース制限の管理も大変便利そうです。おいくらするのか気になります。ちなみに去年は参加していないので、去年がどういう空気感だったかわからないんですが、今年のセッションを聞いていて思ったのは、一部の分析担当、ログ担当だけが、構築されたクラスタのデータにさわるのではなく、多くの人がデータに触れて、活用していくかにものすごいスポットがあたっていたような気がしました。(嶋内さんの第二セッションの話がまさにそんなかんじでしたが)tagomoris氏のNorikraとか見てるとSQLを通じて、みんながデータに触れられるようにするプラットフォームを構築するような話でしたし、Impala推しな感じとかもそういうことなんでしょうね。スポンサーコーナーでちょっとみせてもらったTableauも、SQLではないですが、アプローチとしては同じような感じでしょうか。Japanのセッションもそういう話だったみたいですね。いえば去年くらいに同僚のやなしーが「経営者もSQL書けないとオワコン」とかそんな感じのこと言ってたなぁなんて言うのを思い出し、本格的に環境整ってきたんだなと改めて思ったり。LDAP認証をつけたくらいで、リソース管理も甘いので、本格的にガンガン使われると落ちるかもというまだまだなステータスなので、運用者としてはみんなが使えるっていうレベルまでまず持って行かないといかんですね。