One of the most interesting talks I attended at Hadoop World was by Revolution Analytics. A couple of months ago they released a set of open-source packages to Github which marries their ‘R’ statistical programming language to the power of Hadoop. As well as running R programs across Map/Reduce it includes support to work with datasets stored in HDFS and HBase.
Today I had the pleasure of installing it on our ‘petunia’ cluster. I grabbed the ‘Revolution R Community‘ edition from the website and set about installing it. They provide a RHEL-friendly download, I’m on CentOS 6 so I didn’t foresee any big issues.
The good news is that CentOS 6 has most of the dependencies needed, to be exact the following were all fine:
bzip2-devel-1.0.5-7.el6_0.x86_64
cairo-devel-1.8.8-3.1.el6.x86_64
cloog-ppl-0.15.7-1.2.el6.x86_64
compat-libgfortran-41-4.1.2-39.el6.x86_64
compat-readline5-5.2-17.1.el6.x86_64
cpp-4.4.4-13.el6.x86_64
fontconfig-devel-2.8.0-3.el6.x86_64
freetype-devel-2.3.11-6.el6_0.2.x86_64
gcc-4.4.4-13.el6.x86_64
gcc-c++-4.4.4-13.el6.x86_64
gcc-gfortran-4.4.4-13.el6.x86_64
gcc-objc-4.4.4-13.el6.x86_64
glibc-devel-2.12-1.7.el6_0.5.x86_64
glibc-headers-2.12-1.7.el6_0.5.x86_64
kernel-headers-2.6.32-71.29.1.el6.x86_64
libgfortran-4.4.4-13.el6.x86_64
libICE-1.0.6-1.el6.x86_64
libICE-devel-1.0.6-1.el6.x86_64
libjpeg-6b-46.el6.x86_64
libjpeg-devel-6b-46.el6.x86_64
libobjc-4.4.4-13.el6.x86_64
libpng-devel-1.2.44-1.el6.x86_64
libSM-1.1.0-7.1.el6.x86_64
libSM-devel-1.1.0-7.1.el6.x86_64
libstdc++-devel-4.4.4-13.el6.x86_64
libtiff-3.9.4-1.el6_0.3.x86_64
libtiff-devel-3.9.4-1.el6_0.3.x86_64
libX11-devel-1.3-2.el6.x86_64
libXau-devel-1.0.5-1.el6.x86_64
libxcb-devel-1.5-1.el6.x86_64
libXdmcp-1.0.3-1.el6.x86_64
libXdmcp-devel-1.0.3-1.el6.x86_64
libXext-1.1-3.el6.x86_64
libXext-devel-1.1-3.el6.x86_64
libXmu-1.0.5-1.el6.x86_64
libXmu-devel-1.0.5-1.el6.x86_64
libXrender-devel-0.9.5-1.el6.x86_64
libXt-1.0.7-1.el6.x86_64
libXt-devel-1.0.7-1.el6.x86_64
mpfr-2.4.1-6.el6.x86_64
ncurses-devel-5.7-3.20090208.el6.x86_64
pixman-devel-0.18.4-1.el6_0.1.x86_64
pkgconfig-0.23-9.1.el6.x86_64
ppl-0.10.2-11.el6.x86_64
python-devel-2.6.5-3.el6_0.2.x86_64
readline-devel-6.0-3.el6.x86_64
xorg-x11-proto-devel-7.4-35.el6.noarch
zlib-devel-1.2.3-25.el6.x86_64
However all was not well, the libraries ‘tcl
‘, ‘tk
‘ & ‘libicu
‘ weren’t happy. The latest versions available from CentOS 6 were just too revolutionary and the installer stopped dead in its tracks.
Solution
1. Firstly remove the current (CentOS 6) versions:
$ sudo yum erase tcl tcl-devel tk tk-devel libicu libicu-devel
2. Prevent yum from updating them by editing /etc/yum.repos.d/CentOS-Base.repo
and adding the line to both the [base]
and [updates]
sections of the file:
exclude=libicu libicu-devel tcl tcl-devel tk tk-devel
3. Download the RPM’s for those packages direct from your nearest CentOS 5 mirror.
4. Install these RPM’s manually…
5. Re-run the installer, and all should be well!
Leave a Reply