Revolution R on CentOS 6
Discovery at Hadoop World
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.
Installation Attempt
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.
Dependency Analysis
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
The Problem Libraries
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
- Firstly remove the current (CentOS 6) versions:
$ sudo yum erase tcl tcl-devel tk tk-devel libicu libicu-devel
- 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
-
Download the RPM's for those packages direct from your nearest CentOS 5 mirror.
-
Install these RPM's manually...
-
Re-run the installer, and all should be well!
Related Articles
- The Marriage of Hadoop and R: Revolution Analytics at Hadoop World (revolutionanalytics.com)
Related Posts
Installing CentOS packages on Red Hat Enterprise Linux
Stuck with RHEL without RHN registration? Learn how to use CentOS repositories as a workaround to install missing packages like Pidgin.
A brief history of Red Hat, Fedora and CentOS
Confused by Red Hat's Linux ecosystem? Learn how RHEL, Fedora, and CentOS evolved from one distribution into three distinct solutions for different needs.
Fixing the Heartbleed vulnerability on CentOS
Quick and easy fix for the Heartbleed OpenSSL vulnerability on CentOS systems using yum update and service restart commands.