archive.cloudera.comが回線の問題か、ダウンロードがとても遅くてCDHのインストール時に毎回困っていたのだけど、yumリポジトリをミラーして使えばいいよと教えてもらったので、作業用にyumリポジトリのミラーを用意してみた。
手順はClouderaのドキュメントにあるのをほぼそのまま。
Creating a Local Yum Repository
用意したサーバーがUbuntu12.04だったので、aptでyumをインストールするところから。
$ sudo aptitude install yum yum-utils createrepo
公開用のディレクトリを用意する
まずはCDHのrepoファイルを設置してyum updateしておく。
/etc/yum/repos.d$ tree . ├── cloudera-cdh4.repo └── cloudera-impala.repo
今回公開するディレクトリは /var/www/cdh/ とした。
$ sudo su - # cd /var/www/ # reposync # mkdir -p cdh/cdh/4/ # mkdir -p cdh/impala/ # cd /var/www/cdh/cdh/4/ # ln -s /var/www/cloudera-cdh4/RPMS # createrepo . # cd /var/www/cdh/impala/ # ln -s /var/www/cloudera-impala/RPMS # createrepo . # tree /var/www/cdh /var/www/cdh ├── cdh │ └── 4 │ ├── repodata │ │ ├── filelists.xml.gz │ │ ├── other.xml.gz │ │ ├── primary.xml.gz │ │ └── repomd.xml │ └── RPMS -> /var/www/cloudera-cdh4/RPMS ├── cloudera-cdh4-mirror-nullpobug.repo ├── cloudera-impala-mirror-nullpobug.repo └── impala ├── repodata │ ├── filelists.xml.gz │ ├── other.xml.gz │ ├── primary.xml.gz │ └── repomd.xml └── RPMS -> /var/www/cloudera-impala/RPMS
repoファイルは元のやつをコピーしてgpgcheck=0にしたり、URLを変更して調整。
nginxの設定
Webサーバーはnginxを使っていたので /etc/nginx/sites-available/ に設定ファイルを作成してlnでシンボリックリンク作成。
server { listen 80; server_name cdh.nullpobug.com; access_log /var/log/nginx/cdh.nullpobug.com.access.access.log; error_log /var/log/nginx/cdh.nullpobug.com.error.log; location / { root /var/www/cdh/; index index.html index.htm; autoindex on; } }
その後nginxをリロード。
これで公開できた。
repoファイルも一緒に置いてみた。gpgcheck=0だし、アップデートも気が向いたときにしかしない、いつまで動かしてるかわからないけど、試しに使ってみたい人は自己責任でどうぞ。
http//cdh.nullpobug.com/ (サーバーのディスク容量が足りなくなったので、停止してます。)