redhat设置环境变量 (redhat linux6.5配置snmp)

温馨提示:要看高清*码无**套图,请使用手机打开并单击图片放大查看。

1.文档编写目的

R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。本文档主要讲述如何在Redhat中使用源码方式编译安装及配置R的环境。

那么如何在CDH集群中配置R的运行环境?如何使用R开发分析处理CDH集群数据?等等,我们继这篇文章之后在后续的文章都会进行说明。

  • 内容概述

1.安装前准备

2.R源码编译

3.R环境变量配置

4.R代码测试

  • 测试环境

1.操作系统:RedHat7.2

2.采用sudo权限的ec2-user用户操作

3.R版本3.4.2

4.Rstudio版本1.0.153

2.安装前准备

1.安装编译器

sudo yum -y install gcc
sudo yum -y install gcc-c++
sudo yum -y install gcc-gfortran

2.许多R包依赖Java,需要配置Java的环境变量

JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

3.安装R编译需要的依赖包

sudo yum -y install readline-devel
sudo yum -y install libXt-devel
sudo yum -y install bzip2-devel
sudo yum -y install xz-devel.x86_64
sudo yum -y install libcurl-devel
sudo yum -y install texinfo.x86_64 texlive-pdftex-doc.noarch tex texlive-scheme-basic

4.*载下**R源码

*载下**R源码至服务器

[ec2-user@ip-172-31-21-45 ~]$ wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-3/R-3.4.2.tar.gz
--2026-03-17T22:18:29+00:00-- https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-3/R-3.4.2.tar.gz
…
2026-03-17T22:18:29+00:00 (6.85 MB/s) - ‘R-3.4.2.tar.gz’ saved [30255544/30255544]
[ec2-user@ip-172-31-21-45 ~]$ 

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

3.R源码编译

1.将R-3.4.2.tar.gz压缩包解压至当前目录

[ec2-user@ip-172-31-21-45 ec2-user]# tar -zxvf R-3.4.2.tar.gz 

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

2.进入R-3.4.2目录执行命令进行配置

[ec2-user@ip-172-31-21-45 ec2-user]# cd R-3.4.2
[ec2-user@ip-172-31-21-45 R-3.4.2]# sudo ./configure --prefix=/usr/local/R-3.4.2 --enable-R-shlib

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

显示如上截图则表示配置成功。

3.配置成功后,执行如下命令进行编译并安装到指定目录

[ec2-user@ip-172-31-21-45 R-3.4.2]# sudo make && make install

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

至此已完成R源码的编译及安装。

4.R环境变量配置

1.编辑/etc/profile文件,在文件末尾增加如下内容

R_HOME=/usr/local/R-3.4.2
PATH=$R_HOME/bin:$PATH

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

2.执行如下命令,使环境变量立即生效

[root@ip-172-31-21-45 R-3.4.2]# source /etc/profile

3.验证环境变量是否配置成功

[root@ip-172-31-21-45 R-3.4.2]# echo $R_HOME
[root@ip-172-31-21-45 R-3.4.2]# R

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

如上图示则表示R环境变量配置成功,且能正常使用。

5.R代码测试

如下测试代码主要描述使用Spark2的local模式计算本地文件aaa.txt的行数。

1.Rstudio代码运行效果

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

2.将test.R文件在Linux服务器上运行

library(sparklyr)
sc <- spark_connect(master = "local", spark_home = Sys.getenv("SPARK_HOME","/opt/cloudera/parcels/SPARK2/lib/spark2"))
count_lines <- function(sc, file) {
 spark_context(sc) %>%
 invoke("textFile", file, 1L) %>%
 invoke("count")
}
count_lines(sc, "file:///home/ec2-user/aaa.txt")
spark_disconnect(sc)
print("Hello R")

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

3.在命令行运行test.R文件

[root@ip-172-31-21-45 ec2-user]# Rscript test.R 

运行结果:

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

6.常见问题

问题一

configure: error: in `/home/ec2-user/R-3.4.2’:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log’ for more details

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:由于c++编译器的相关package没有安装导致

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum install gcc-c++

问题二

checking for main in -ltermcap... no
checking for main in -ltermlib... no
checking for rl_callback_read_char in -lreadline... no
configure: error: --with-readline=yes (default) and headers/libs are not available

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:由于需要依赖readline-devel包

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum -y install readline-devel

问题三

checking for Fortran 77 libraries of fc... 
checking how to get verbose linking output from gcc -std=gnu99... -v
checking for C libraries of gcc -std=gnu99... -L/usr/local/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. -lgcc_s
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... configure: error: in `/home/ec2-user/R-3.4.2’:
configure: error: cannot compile a simple Fortran program
See `config.log’ for more details

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:由于需要依赖gcc-gfortran包的缘故

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum -y install gcc-gfortran

问题四

checking for wctrans_t... yes
checking for mbstate_t... yes
checking for ICU... no
checking for X... no
configure: error: --with-x=yes (default) and X11 headers/libs are not available

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:需要依赖libXt-devel包

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum -y install libXt-devel

问题五

checking mmap support for zlib... yes
checking for BZ2_bzlibVersion in -lbz2... no
checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum -y install bzip2-devel

问题六

checking whether bzip2 support suffices... yes
checking for lzma_version_number in -llzma... no
configure: error: "liblzma library and headers are required"

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum -y install xz-devel.x86_64

问题七

checking curl/curl.h presence... no
checking for curl/curl.h... no
configure: error: libcurl >= 7.22.0 library and headers are required with support for https

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:

[ec2-user@ip-172-31-21-45 R-3.4.2]$ sudo yum -y install libcurl-devel 

问题八

configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: you cannot build PDF versions of vignettes and help pages

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:

[ec2-user@ip-172-31-26-102 R-3.4.2]$ sudo yum -y install texinfo.x86_64 texlive-pdftex-doc.noarch tex texlive-scheme-basic

问题九

configure: WARNING: neither inconsolata.sty nor zi4.sty found: PDF vignettes and package manuals will not be rendered optimally

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解决方法:

*载下**inconsolata包

wget http://mirror.lzu.edu.cn/CTAN/fonts/inconsolata.zip 

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

解压inconsolata.zip,将压缩包内容拷贝至/usr/share/texlive/texmf-dist/tex/latex

[ec2-user@ip-172-31-21-45 ~]$ unzip inconsolata.zip
[ec2-user@ip-172-31-21-45 ~]$ cd inconsolata
[ec2-user@ip-172-31-21-45 inconsolata]$ sudo scp -r * /usr/share/texlive/texmf-dist/tex/latex

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

执行命令刷新sty:sudo mktexlsr或者sudo texhash

[ec2-user@ip-172-31-21-45 inconsolata]$ sudo mktexlsr
mktexlsr: Updating /usr/share/texlive/texmf/ls-R... 
mktexlsr: Updating /usr/share/texlive/texmf-config/ls-R... 
mktexlsr: Updating /usr/share/texlive/texmf-dist/ls-R... 
mktexlsr: Updating /usr/share/texlive/texmf-local///ls-R... 
mktexlsr: Updating /usr/share/texlive/texmf-var/ls-R... 
mktexlsr: Done.

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!

温馨提示:要看高清*码无**套图,请使用手机打开并单击图片放大查看。

您可能还想看

安装

CENTOS6.5安装CDH5.12.1(一)

CENTOS6.5安装CDH5.12.1(二)

CENTOS7.2安装CDH5.10和Kudu1.2(一)

CENTOS7.2安装CDH5.10和Kudu1.2(二)

如何在CDH中安装Kudu&Spark2&Kafka

如何升级Cloudera Manager和CDH

如何卸载CDH(附一键卸载github源码)

如何迁移Cloudera Manager节点

如何在Windows Server2008搭建DNS服务并配置泛域名解析

安全

如何在CDH集群启用Kerberos

如何在Hue中使用Sentry

如何在CDH启用Kerberos的情况下安装及使用Sentry(一)

如何在CDH启用Kerberos的情况下安装及使用Sentry(二)

如何在CDH未启用认证的情况下安装及使用Sentry

如何使用Sentry管理Hive外部表权限

如何使用Sentry管理Hive外部表(补充)

如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据

Windows Kerberos客户端配置并访问CDH

数据科学

如何在CDSW中使用R绘制直方图

如何使用Python Impyla客户端连接Hive和Impala

如何在CDH集群安装Anaconda&搭建Python私有源

什么是数据科学工作台?为什么数据科学家需要它?

其他

CDH网络要求(Lenovo参考架构)

大数据售前的中年危机

如何实现CDH元数据库MySQL的主备

如何在CDH中使用HPLSQL实现存储过程

如何在Hive&Impala中使用UDF

Hive多分隔符支持示例

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

redhatlinux6.5配置snmp,如何在redhat中定义环境变量

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操