インストール後に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さんです。