9月 4th, 2012

Hadoop(CDH3u4)管理画面をリバースプロキシ? 由で圏 煜

Posted in Hadoop by admin

手段として、いぜ つかのサイトで公開されているようぜ
mod_rewrite、mod_proxy_htmlを利用します。

圏 考:
http://d.hatena.ne.jp/matobat/20100916/1284626356

CDHの管理画面は、コミュニティ版と地 し異なる為、
いぜ つか変更を加えながら確? してみました。
準備作業は以下のようになります。

# yum install httpd-devel libxml2 libxml2-devel
# wget http://apache.webthing.com/mod_proxy_html/mod_proxy_html.tar.bz2
# bzip2 -d mod_proxy_html.tar.bz2 | tar xvf
# cd mod_proxy_html
# apxs -c -I/usr/include/libxml2 -I./ -i mod_proxy_html.c
# wget http://apache.webthing.com/svn/apache/filters/mod_xml2enc.c
# wget http://apache.webthing.com/svn/apache/filters/mod_xml2enc.h
# apxs -c -I/usr/include/libxml2 -I./ -i mod_xml2enc.c

httpd.confには、以? の設定を追加しました。
もっと効? 的な方? があるかもしれません。

# mod_rewrite
RewriteEngine On
RewriteRule ^/namenode/(.*)$ http://(MasterNode_VIP):50070/$1 [P,L,QSA]
RewriteRule ^/jobtracker/(.*)$ http://(MasterNode_VIP):50030/$1 [P,L,QSA]
RewriteRule ^/datanode/([^/]*)/(.*)$ http://$1:50075/$2 [P,L,QSA]
RewriteRule ^/tasktracker/([^/]*)/(.*)$ http://$1:50060/$2 [P,L,QSA]

Header edit Location ^http://(MasterNode_VIP):50070/(.*)$ /namenode/$1
Header edit Location ^http://(MasterNode_VIP):50030/(.*)$ /jobtracker/$1
Header edit Location ^http://([^:]*):50075/(.*)$ /datanode/$1/$2
Header edit Location ^http://([^:]*):50060/(.*)$ /tasktracker/$1/$2

# mod_proxy_html
LoadFile      /usr/lib64/libxml2.so
LoadModule    proxy_html_module       modules/mod_proxy_html.so
LoadModule    xml2enc_module          modules/mod_xml2enc.so

ProxyHTMLEnable On
#ProxyHTMLLogVerbose On
ProxyHTMLURLMap ^http://(.*):50070/(.*)$ /namenode/$2 [R,x,l,e,c]
ProxyHTMLURLMap ^http://(.*):50030/(.*)$ /jobtracker/$2 [R,x,l,e,c]
ProxyHTMLURLMap ^http://(.*):50075/(.*)$ /datanode/$1/$2 [R,x,l,e,c]
ProxyHTMLURLMap ^http://(.*):50060/(.*)$ /tasktracker/$1/$2 [R,x,l,e,c]
ProxyHTMLURLMap ^http://(.*):50060$ /tasktracker/$1/ [R,x,l,e,c]
ProxyHTMLURLMap ^/static/(.*) /namenode/static/$1 [R,x,l,e,c]
ProxyHTMLURLMap ^/nn_browsedfscontent.jsp /namenode/nn_browsedfscontent.jsp [R,x,l,e,c]
ProxyHTMLURLMap ^/logs/$ logs/ [R,x,l,e,c]
ProxyHTMLURLMap ^/logs/(.*)$ $1 [R,x,l,e,c]
ProxyHTMLURLMap ^/dfshealth.jsp /namenode/dfshealth.jsp [R,x,l,e,c]
ProxyHTMLURLMap ^/jobdetails.jsp(.*)$ /jobtracker/jobdetails.jsp$1 [R,x,l,e,c]
ProxyHTMLURLMap ^/taskgraph(.*)$  /jobtracker/taskgraph$1 [R,x,l,e,c]
ProxyHTMLURLMap ^/taskstats.jsp(.*)$ /jobtracker/taskstats.jsp$1 [R,x,l,e,c]
ProxyHTMLURLMap ^/taskstatshistory.jsp(.*)$ /jobtracker/taskstatshistory.jsp$1 [R,x,l,e,c]

また、MapReduce、Shuffleのグラフ表示ぜ embedタグのリンク部分を
書き朏 える為、proxy_html.confへの追記も行っています。

ProxyHTMLLinks  embed           src

画面アクセス時は、/namenode/、/jobtracker/のようにアクセスします。
また、スレーブボ ードぜ IPアドレスは、リバースプロキシで名前解決できるようぜ
hostsに登録しています。

You can leave a comment, or trackback from your own site. RSS 2.0

Leave a comment