Hadoop運用 >

目次

reposyncによる構築

構築手順

yum-utils および createrepo のインストール

リポジトリの構築

  1. ミラー対象のrepoファイルをインストールします。
    • debian.pngDebianの場合には、/etc/yum/repos.d 以下に配備します。
      $ cat /etc/yum/repos.d/cloudera-cdh4.repo
      [cloudera-cdh4]
      name=Cloudera's Distribution for Hadoop, Version 4
      baseurl=http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/4/
      gpgkey =  http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
      gpgcheck = 1
  2. ミラー先のローカルディレクトリを用意します。
    $ sudo mkdir -p /var/spool/cdh-mirror/cdh4/redhat/6/x86_64/cdh
    $ sudo chown -R yum-mirror:yum-mirror /var/spool/cdh-mirror
  3. 初回のみ確認の上、GPG鍵をダウンロードします。
    $ sudo -u yum-mirror wget http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera \
    > -O /var/spool/cdh-mirror/cdh4/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
  4. reposync コマンドでリポジトリを同期させます。
    • centos.pngCentOS
      $ sudo -u yum-mirror reposync -a x86_64 -r cloudera-cdh4 -p /var/spool/cdh-mirror/cdh4/redhat/6/x86_64/cdh
    • debian.pngDebian: 当然ながら、yum.conf は /etc 直下にありませんので、明示指定します。
      $ sudo -u yum-mirror reposync -c /etc/yum/yum.conf -a x86_64 -r cloudera-cdh4 -p /var/spool/cdh-mirror/cdh4/redhat/6/x86_64/cdh
  5. リポジトリIDでディレクトリが作成されますので、初回のみシンボリックリンクでそのパスを調整します。
    $ sudo -u yum-mirror ln -s /var/spool/cdh-mirror/cdh4/redhat/6/x86_64/cdh/{cloudera-cdh4,4}
  6. createrepo コマンドでメタデータを生成します。
    $ sudo -u yum-mirror createrepo /var/spool/cdh-mirror/cdh4/redhat/6/x86_64/cdh/4
  7. 公開のためのWebサーバを用意します
    [Debian]$ sudo apt-get install apache2
    [CentOS]$ sudo yum install httpd
  8. Webサーバの設定ファイル(debian.png/etc/apache2/conf.d/cdh-mirrorcentos.png/etc/httpd/conf.d/cdh-mirror.conf)を以下の要領で追加し、反映させます。
    1. override_attributes(
    2.   'cdh' => {
    3.     'version' => '4.4.0',
    4.     'yum_repo' => {  # リポジトリのインストール設定
    5.       'with_gplextras' => true,
    6.       'update' => true,
    7.       'only_for_mirroring' => true,  # ミラー目的のためにrepoファイルをインストール
    8.       'mirroring' => {               # ターゲット環境
    9.         'platform' => 'centos',
    10.         'platform_version' => '6',
    11.         'arch' => 'x86_64'
    12.       }
    13.     },
    14.     'yum_mirror' => {  # ミラー設定
    15.       'cron_period' => '5 20   * * *',
    16.       'repo_ids' => [
    17.         'cloudera-cdh4',
    18.         'cloudera-gplextras4',
    19.       ],
    20.       'arch' => 'x86_64',
    21.       'url_alias_with_authority_part' => true  # 公開URLに元のリポジトリサイトのauthority部を含めるか
    22.     }
    23.   }
    24. )

repoファイルの変更

  1. 上記のミラー構築例では意図的にCDHリポジトリのパス構造を踏襲していますので、repoファイルについては、オーソリティ部のみをその構築したミラーサーバに変更すれば済みます。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS