RHive是一种通过HIVE高性能查询来扩展R计算能力的包。它可以在R环境中非常容易的调用HQL,也允许在Hive中使用R的对象和函数。理论上数据处理量可以无限扩展的Hive平台,搭配上数据挖掘的利器R环境,堪称是一个完美的大数据分析挖掘的工作环境。
安装
首先hadoop 以及hive 的安装这里就跳过了。这里主要介绍在Centos 中如何安装R 语言以及如何集成Rhive 到hadoop 中。
本次实验节点有8个因此我们需要在每个节点中安装R 以及相应的其他模块首先我们来看看如何安装R
下载资源包中的 R-3.2.0.tar.gz 并解压
编译前确保安装如下模块
执行命令:
yum install gcc-gfortran gcc gcc-c++ libXt-devel openssl-devel readline-devel
RHive 依赖于Rserve,因此在编译安装R的时候主要使用参数 --disable-nls --enable-R-shlib:
cd R-3.2.0/
./configure --disable-nls --enable-R-shlib
make
make install
cd ../
执行R 命令进行rJAVA 、RHive 等模块的安装
R CMD INSTALL rJava_0.9-6.tar.gz
R CMD INSTALL Rserve_1.8-3.tar.gz
R CMD INSTALL RHive_2.0-0.2.tar.gz
说明:如果你有多个节点,请在每个节点 和master 中均安装上述模块
到此安装结束,我们进入环境配置部分。
配置
1. 新建RHIVE 数据存储路径(本地的非HDFS)
我这里保存在 /www/store/rhive/data
2.新建Rserv.conf 文件并写入 “remote enable” 保存到你指定的目录
我这里存放在 /www/cloud/R/Rserv.conf
3.修改各个节点以及master 的 /etc/profile 新增环境变量
export RHIVE_DATA=/www/store/rhive/data
4.将R目录下的lib目录中所有文件上传至HDFS 中的/rhive/lib 目录下(如果目录不存在手工新建一下即可)
cd /usr/local/lib64/R/lib
hadoop fs -put ./* /rhive/lib
启动
1.在所有节点和master 上执行
R CMD Rserve --RS-conf /www/cloud/R/Rserv.conf
telnet cloud01 6311
然后在Master节点telnet所有slave节点,显示 Rsrv0103QAP1 则表示连接成功
2.启动hive远程服务: rhive是通过thrift连接hiveserver的,需要要启动后台thrift服务,即:在hive客户端启动hive远程服务,如果已经开启了跳过本步骤
nohup hive --service hiveserver &
Rhive 测试
library(RHive)
rhive.connect("master", 10000,hiveServer2=TRUE)
完毕!
ubuntu15.04安裝hadoop2.6.0及eclipse开发环境配置:http://www.linuxdiyf.com/linux/12474.html
Ubuntu15.04单机/伪分布式安装配置Hadoop与Hive试验机:http://www.linuxdiyf.com/linux/11858.html