关闭

Centos 安装R 集成 Hadoop、RHive 配置安装手册

标签: hadoopRRHive
2233人阅读 评论(3) 收藏 举报
分类:

RHive 是一种通过HIVE高性能查询来扩展R计算能力的包。它可以在R环境中非常容易的调用HQL, 也允许在Hive中使用R的对象和函数。理论上数据处理量可以无限扩展的Hive平台,搭配上数据挖掘的利器R环境, 堪称是一个完美的大数据分析挖掘的工作环境。



资源包下载地址:

http://pan.baidu.com/s/1gdtnZPp


安装

首先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.10.tar.gz

说明:如果你有多个节点,请在每个节点 和master 中均安装上述模块

注意 之前安装

RHive_2.0-0.2.tar.gz该版本的在执行rhive.export()等操时候会报错

“Error: java.io.IOException: Mkdirs failed to create /rhive/udf/hue”

主要是版BUG ,我们安装新版本

RHive_2.0-0.10.tar.gz

即可。删除  /usr/local/lib64/R/library/RHive 重新安装,然后 scp 到各个节点。


到此安装结束,我们进入环境配置部分。


配置

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)


测试2:

library(RHive)
rhive.connect("cloud-master", defaultFS='hdfs://cloud-master:9100',hiveServer2=TRUE,user="hue")
rhive.use.database('data_w')

xsd <- function(a,b)	{
a+b
}
rhive.assign("xsd",xsd)
rhive.export("xsd")
rhive.query("SELECT R('xsd',a,b,0.0) as t from yqj_test")
rhive.close()

完毕!

最后附上RHive 相关文档地址

https://github.com/nexr/RHive/wiki/User-Guide


本文参考地址:

http://yangqijun.com/archives/341

http://www.cnblogs.com/end/archive/2013/02/18/2916105.html

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:583733次
    • 积分:4791
    • 等级:
    • 排名:第6002名
    • 原创:72篇
    • 转载:49篇
    • 译文:10篇
    • 评论:41条
    文章分类
    最新评论