CDHのyumリポジトリのミラーを用意してみた

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/ (サーバーのディスク容量が足りなくなったので、停止してます。)

使い方

CentOSから使う場合。repoファイルを配置してyum updateするだけ。

$ sudo su -
# cd /etc/yum.repos.d/
# curl -O http://cdh.nullpobug.com/cloudera-cdh4-mirror-nullpobug.repo
# curl -O http://cdh.nullpobug.com/cloudera-impala-mirror-nullpobug.repo
# yum update

これで、yum install impala.x86_64 とかできるようになる。