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/RPMSrepoファイルは元のやつをコピーして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/ (サーバーのディスク容量が足りなくなったので、停止してます。)