動機
CDHのコンポーネントをCentOSにパッケージインストールするときの設定。
クラスタにするのであればCloudera Manager経由でParcelを使うのが一番楽だと思うのだけど、
CentOS上で一部のツールを使いたい、といった場合にこういう設定があると便利かなと思ったので。
手順
下記を実行してyumの設定ファイルを変更するだけcm_ver/cdh_verを書き変えればしばらくは使えるはず。
因みにCMの方は主にJDKのためなのでインストール済みであればなくても良いかなと。
os_major=$(cat /etc/redhat-release | grep -oE '[0-9]' | head -1)
# CM
cm_ver=5.4.1
cm_major=$(echo $cm_ver | sed 's/^\(.\).*/\1/')
cat <<EOF > /etc/yum.repos.d/cm.repo
[cm]
name=CM
baseurl=http://archive.cloudera.com/cm${cm_major}/redhat/$os_major/x86_64/cm/${cm_ver}/
gpgcheck = 0
EOF
# CDH
cdh_ver=5.4.2
cdh_major=$(echo $cdh_ver | sed 's/^\(.\).*/\1/')
cat <<EOF > /etc/yum.repos.d/cdh.repo
[cdh]
name=CDH
baseurl=http://archive.cloudera.com/cdh${cdh_major}/redhat/$os_major/x86_64/cdh/${cdh_ver}/
gpgcheck = 0
EOF
上記でリポジトリが設定されているので、下記のようなコマンドでコンポーネントをインストールできるようになるはず。
使用例
yum install -y oracle-j2sdk1.7.x86_64
yum install -y avro-tools
感想
CDHをインストールするのであればCMからParcelのが圧倒的にインストール/運用共に楽なのでそっちを使ってください。
avro-toolsだけどうしても、とかって状況になることもあまり無い気はするのでこういう状況ではこの設定が便利。
といったことがあれば教えてもらえると嬉しいです。