目录

安装准备

linux系统安装

Hadoop安装

R语言安装

RHadoop安装

分布式参考


我是R语言linux以及hadoop小白,因为课程任务接触的这些内容,是我自己找资料进行的汇总,有些写的不对的地方也请大家指出来。

安装准备

如果选择的系统是32位Ubuntu系统,那么直接跳过此步骤内容。
如果选择的系统是64位Ubuntu系统,那么在安装虚拟机前,我们还要进入BIOS开启CPU的虚拟化。

开启CPU 虚拟化可以自行查找资料,因为这一步不同的电脑打开BIOS的方式都不同,所以就省略了。

linux系统安装

我是在virtualbox虚拟机上安装的ubuntu16.04。下载地址用的是林子雨老师的百度网盘地址,提取码99bg,里面还有JDK的文件也可以一起下载。打开虚拟机后点击新建,然后进行下图的选择。

点击下一步进行内存大小的设置,使用虚拟机安装内存最好大一些,不然会很卡,我的电脑内存是16G,所以我分了8G;然后点击下一步选择现在创建虚拟硬盘,点击创建,选择VDI,点击下一步选择动态分配,点击下一步进行硬盘的分配,这里也多分配一点,为了在之后需要安装很多的组件。这里就设置好了虚拟机。

点击存储选项,会打开虚拟机的存储设置。点击没有盘片,在右边点击盘片选择选择或创建一个虚拟光盘文件。打开选项后,点击注册找到下载的光盘文件,如果选择光盘文件后页面中没有显示,点击刷新就可以看到了,然后点击OK退出。

再设置一下虚拟机的网络,点击选项后选择桥接网卡。

为了能后让win和虚拟机可以相互的复制黏贴,这里需要设置一下粘贴板;点击虚拟机的设置选项,找到常规,点击高级,可以看到共享粘贴板,选择双向。

现在可以进行ubuntu的安装了。

点击启动进入ubuntu的安装。

点击安装,这里我选择了安装中文版,但好像安装英文版会减少一些错误的出现。点击安装后在出现的界面中直接选择继续,在安装类型中选择其他选项,打开的新页面中点击新建分区表,如果页面没有这个选项,就按住ALT键使用鼠标拖拽找到,点击新建分区表后,会有提示点击继续即可。选择下图中的空闲,然后再点击“+”按钮,用来创建交换空间。

对交换空间进行如下设置。

选择图中“空闲”,然后再点击“+”按钮,用来创建根目录。这里大小不用改动。

对根目录进行如下设置。

设置结束就可以进行安装了,点击右下角的现在安装。

选择地区,以及键盘布局,我这里都选择了默认。

进行如下的用户名设置。点击继续就可等着了。千万不能点击跳过。 安装结束后进行重启,界面会提示删除光盘,删除后键盘按ENTER。

重启动后,虚拟机ubuntu系统默认是以窗口模式打开,而且分辨率很低。这是Virtualbox初始安装完ubuntu的原因,我们需要修复这个,让虚拟机支持大的分辨率,点击左上角的设备选项,选择安装增强功能。这里需要等待一段时间,然后提示键入return关闭窗口。打开ubuntu的终端执行下面代码。这时粘贴板还不能用,需要执行下面代码后重启。重启后就可以进入系统设置进行显示的设置。

sudo apt-get install virtualbox-guest-dkms

Hadoop安装

1.创建hadoop用户

如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户,如果使用上面的设置用户名的方式可以跳过。

首先打开终端窗口,或者按 ctrl+alt+t 打开,输入如下命令创建新用户 。这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。

sudo useradd -m hadoop -s /bin/bash

接着使用如下命令设置密码,可简单设置为hadoop,按提示输入两次密码。

sudo passwd hadoop

可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题。

sudo adduser hadoop sudo

最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的 hadoop 用户进行登陆。

2.更新apt

登入后,我们先更新一下 apt,因为我们需要使用 apt 安装软件,如果没更新可能有一些软件安装不了,或者版本比较旧。打开终端窗口,执行如下命令。

sudo apt-get update

若出现“Hash校验和不符,无法下载” 的提示,可通过更改软件源来解决。这里可以查找如何更改下载源的资料自行解决。有时候下载源会带来很多的问题,比如还有“提示无法修正错误”的问题,也可以通过修改下载源解决,如果解决不了,可以使用aptitude 来解决,因为所安装软件包依赖低版本的时候,无法升级或者降级当前的依赖版本,由于解决不了软件包的依赖关系,所以也就导致无法安装成功。

后续需要更改一些配置文件,我使用的是 vim(vi增强版,基本用法相同),建议安装一下;当然也可以使用gedit更改配置文件。使用下面代码添加vim。安装时会提示确认都键入y。

sudo apt-get install vim

3.安装SSH、配置SSH无密码登陆

集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server。

sudo apt-get install openssh-server

安装后,可以使用如下命令登陆本机。此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了。

ssh localhost

这样的登入还是很麻烦,需要配置成SSH无密码登陆比较方便。首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中。这样登入就不再需要密码。

exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

4.安装Java环境

我是使用手动安装的,需要按照下面步骤来手动安装JDK1.8。

请把压缩格式的文件jdk-8u162-linux-x64.tar.gz下载到本地电脑,假设保存在“/home/hadoop/下载/”目录下。这里有两种方式下载文件,一种是使用ubuntu自带的浏览器打开百度网盘下载,还有就是使用SecureCRT,将win中的文件上传到虚拟机ubuntu中。下面介绍SecureCRT使用。

安装好SecureCRT后,打开它,鼠标放在Sessions点击鼠标右键,选择New Session。

在打开的界面中,协议默认选SSH2,点击下一步。新的界面中,在hostname中需要写安装的虚拟机的地址。这里需要在ubuntu终端使用下面代码。

ifconfig 

地址如下。

username使用ubuntu的登入用户名。session name自己设置一下,这样就完成了。

点击图中标识,如果没有配置SSH是连接不成功的。连接成功后,右键选择connect SFTP session。这样就可以传文件了,将需要的文件拖拽到打开的SFTP中就成功了。

上传完成后,默认在家目录下,就是“/home/hadoop”目录下,这里hadoop是我的登入用户名。

使用下面的命令解压安装。

cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
ls #进入目录后使用ls可以查看目录下的文件
sudo tar -zxvf ~/jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下

JDK文件解压缩以后,可以执行如下命令到/usr/lib/jvm目录查看一下。

cd /usr/lib/jvm
ls

可以看到,在/usr/lib/jvm目录下有个jdk1.8.0_162目录。下面继续执行如下命令,设置环境变量。

cd ~
vim ~/.bashrc

打开了hadoop这个用户的环境变量配置文件,请在这个文件的开头位置,添加如下几行内容。

使用vim打开文件后,键盘按i,就可以进行编辑了,编辑结束后,按ESC退出编辑,然后键入:wq退出。配置结束后一定要使用source ~/.bashrc代码命令让.bashrc文件的配置立即生效。

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使用java -version命令可以查看是否配置成功,如果显示了java版本信息说明安装成功。

5.安装 Hadoop 2

可以通过Hadoop的官网下载,也可以使用前面的百度网盘下载,也可以使用前面提到的SecureCRT的方式上传文件到Ubuntu。

通过下面的代码将Hadoop 安装至 /usr/local/ 中。

sudo tar -zxf ~/hadoop-2.7.1.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.7.1/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop       # 修改文件权限

Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息。

cd /usr/local/hadoop
./bin/hadoop version

Hadoop的环境配置使用如下命令。

vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop #在打开的文件里添加
export PATH=$PATH:$HADOOP_HOME/bin   #在打开的文件里添加
source ~/.bashrc                     #配置好后,一定记得使用这个代码

配置好后在终端键入hadoop,如果显示信息表示成功。

6.Hadoop伪分布式配置

这里介绍伪分布的配置,如果想要分布式的配置,在文章结尾会给出参考网页。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的

<configuration>

</configuration>

修改为下面内容,修改后记得保存。

<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>

使用同样的方式修改 hdfs-site.xml。

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property>
</configuration>

配置完成后,执行 NameNode 的格式化。

cd /usr/local/hadoop
./bin/hdfs namenode -format

成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。

接着开启 NameNode 和 DataNode 守护进程。若出现如下SSH提示,输入yes即可。

cd /usr/local/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格
./sbin/stop-dfs.sh   #关闭hdfs,不再使用hdfs后,记得关闭

启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”。

伪分布实例:

伪分布式读取的是 HDFS 上的数据。要使用 HDFS,首先需要在 HDFS 中创建用户目录。

./bin/hdfs dfs -mkdir -p /user/hadoop

接着将 ./etc/hadoop 中的 xml 文件作为输入文件复制到分布式文件系统中,即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中。我们使用的是 hadoop 用户,并且已创建相应的用户目录 /user/hadoop ,因此在命令中就可以使用相对路径如 input,其对应的绝对路径就是 /user/hadoop/input。

./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/*.xml input
./bin/hdfs dfs -ls input#复制完成后,可以通过如下命令查看文件列表

R语言安装

我安装的R版本是3.4.4,因为3.5之后版本有一些兼容问题。

可以使用下面的代码安装。这样安装的版本比较旧。

sudo apt-get install r-base
sudo apt-get install r-base-dev

我在使用sudo apt-get update 更新后还是只能下载旧版本,找了很久资料找到了可以安装3.4和3.6还有4.0版本的方法。

我以我的ubuntu16.04为例。直接在命令行界面,输入如下命令,即可快速升级到4.0最新版本。

sudo su
echo "deb http://www.stats.bris.ac.uk/R/bin/linux/ubuntu xenial-cran40/" >> /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
apt-get update
apt-get upgrade
sudo apt-get install r-base

如果想要下载ubuntu其他版本可以更改如下。只要修改ubuntu不同版本的别名,就像16.04别名是xenial,可以在网上找到这些别名。

echo "deb http://www.stats.bris.ac.uk/R/bin/linux/ubuntu trusty-cran40/" >> /etc/apt/sources.list              #Ubuntu 14.04
echo "deb http://www.stats.bris.ac.uk/R/bin/linux/ubuntu bionic-cran40/" >> /etc/apt/sources.list              #Ubuntu 18.04

如果想要下载r其他版本可以更改如下。

echo "deb http://www.stats.bris.ac.uk/R/bin/linux/ubuntu xenial-cran35/" >> /etc/apt/sources.list        #R版本R 3.6
echo "deb http://www.stats.bris.ac.uk/R/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list #R版本R 3.4

如果下载了3.4.4版本后在后续下载r包时,会显示版本不可用,这是因为r版本太低,r包版本高导致,后面会介绍如何手动安装合适的版本r包。

我使用的是3.4.4版本R,如果下载的是3.5版本以后的R,会出现无法从由R版本XX写的工作空间版本3中读取数据;这是由于版本问题不兼容。

手动安装R包步骤如下。

第一步需要用wget下载R包到本地,或者使用浏览器下载到win下,再上传到虚拟机。

第二步需要找到自己在服务器上安装的R包的library库的绝对路径。

先进入R交互式命令行,然后使用命令install.packages("package_name",repos = NULL),这样可以找到library路径。在交互中选择n。

第三步在ubuntu终端命令行下编译安装R包。

R CMD INSTALL -l /path/to/your/library  /path/to/your/downloaded/package

RHadoop安装

先在终端安装依赖库。

sudo apt-get install git libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool
flex bison pkg-config g++ libssl-dev

设置java配置。

sudo R CMD javareconf

如果提示JAVA_HOME路径不合适使用下面代码。将 R 指向带有 JDK 8 的路径。

sudo R CMD javareconf JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162/

为了安装rhdfs和rmr2包需要进行下面的环境配置,同样使用vim ~/.bashrc打开。

export HADOOP_CMD=$HADOOP_HOME/bin/hadoop
export HADOOP_STREAMING=$HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.1.jar
export LD_LIBRARY_PATH=/usr/lib/jvm/jdk1.8.0_162/jre/lib/amd64/server

这里需要注意的是权限问题,如果修改的是hadoop user 的 .bashrc 文件或者以 hadoop 身份export, 这些环境变量就只对 hadoop user 有用,但是下面一个步骤需要 root 权限,所以可能需要重新在 R 里重新设置一下。

> Sys.setenv("HADOOP_CMD"="/usr/local/hadoop/bin/hadoop")
> Sys.setenv("HADOOP_STREAMING"="/usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.1.jar")
> Sys.setenv("LD_LIBRARY_PATH"="/usr/lib/jvm/jdk1.8.0_162/jre/lib/amd64/server")

检查 R 是否设置了这些环境变量,用下面命令。

> Sys.getenv("HADOOP_CMD")

这里需要以 root 权限启动R,进行安装R依赖库。

sudo R
#在R中
> install.packages(c("rJava", "Rcpp", "RJSONIO", "bitops","caTools","digest", "functional", "stringr", "plyr", "reshape2"))

这样这些包就被安装到默认的 R 路径下:/usr/local/lib/R/site-library

最好将包放在路径/usr/lib/R/

安装 rmr2,rhdfs,由于这三个库不能在CRAN中找到,所以需要自己下载。
https://github.com/RevolutionAnalytics/RHadoop/wiki

下载好后用下面命令安装。

> install.packages('/home/hadoop/rmr2_3.3.1.tar.gz',repo=NULL,type="source")
> install.packages('/home/hadoop/rhdfs_1.0.8.tar.gz',repo=NULL,type="source")

如果提示“ fatal error: Rcpp.h: 没有那个文件或目录”的错误,使用下面方法解决。Rcpp包问题还是很多的。在R中先删除之前的Rcpp包。进行下面操作后重新安装rmr2包,需要安装到Rcpp包同目录下。

sudo apt-get install apt-file #先下载apt-file
sudo apt-file update #执行更新
sudo apt-file search include/Rcpp.h #查找Rcpp.h
sudo apt-get install r-cran-rcpp

如果提示无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

因为所安装软件包依赖低版本的时候,无法升级或者降级当前的依赖版本,由于解决不了软件包的依赖关系,所以也就导致无法安装成功。

可以采用的有效解决方法是使用 aptitude 来帮助降级解决软件包的依赖版本,步骤如下。

使用 aptitude 安装软件包,安装过程中,第一个交互提示你是否保持包版本不变,即不更新,这里输入 n,后面的交互提示输入 y 即可。然后重新安装rmr2包。

sudo apt-get install -y aptitude #安装aptitude
sudo aptitude install r-cran-rcpp

在R中使用library()命令加载rhdfs和rmr2包, 如果 rmr2和rhdfs都没有问题,那么RHadoop就算安装成功了。

分布式参考

Hadoop集群安装配置

Linux系统,Hadoop,R语言,RHadoop的安装相关推荐

  1. linux系统使用R语言,R语言-基础操作

    今天本人来学习R语言,先来学习一些基础的操作. (1)c() c()是用来创建一个向量,比如 (2)length() length()用来获取一个向量的长度. (3)mode() 获取向量中数据的类型 ...

  2. 基于Linux系统的C语言多关卡推箱子设计

    基于Linux系统的C语言多关卡推箱子设计 目录 基于Linux系统的C语言多关卡推箱子设计 前言 一.设计方案 二.功能设计 2.1功能简述 2.2流的类型和操作 2.3标准I/O 2.4流的使用 ...

  3. R语言介绍及安装教程

    R语言是一种免费的开源编程语言和环境,主要用于数据分析.统计建模和可视化.它可以运行在不同的操作系统上,如Windows.MacOS和Linux.R语言具有以下特点: 丰富的数据处理和统计分析函数库: ...

  4. c语言 r语言 java,R语言rJava包安装载入及JAVA环境配置

    rJava 包的安装与载入 一般文本分词的教程都会贴出: install.packages("rJava") library(rJava) 来引导我们装载rJava包,运行inst ...

  5. R语言运行环境安装配置

    想要运行R语言代码,首先需要安装好R语言的运行环境--RGui,很多人包括我自己喜欢另一个运行环境--Rstudio.下面分别就安装RGui.Rstudio做分别说明. 1.安装RGui 去R语言官方 ...

  6. ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装

    ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装 系统安装 下载CentOS系统制作系统U盘 笔记本电源设置 网络设置 WiFi类型查看验证设置联网 设置固定IP 安装MySQ ...

  7. r语言 读服务器数据,R语言数据实战 | 安装R语言

    原标题:R语言数据实战 | 安装R语言 1.R的获取和安装 获取和安装R很容易(这也是它"亲民"的地方),具体步骤如下: Step 1: 登陆R语言官方网站https://www. ...

  8. Linux系统之温度监控工具——lm_sensors的安装和基本使用

    Linux系统之温度监控工具--lm_sensors的安装和基本使用 一.lm_sensors介绍 二.检测安装环境 1.检查yum仓库 2.检查系统版本 三.安装lm_sensors 四.侦测硬件 ...

  9. Windows系统下R语言环境搭建及高级图表绘制

    1.R语言环境及其编译软件下载安装: 链接:https://pan.baidu.com/s/186hjytYEqJB2kDUed0beAA  提取码:mtwh 先安装R-4.0.3-win.exe,这 ...

  10. 在笔记本上安装 linux系统--Ubuntu 20.04(实体机安装而非虚拟机)

    在笔记本上安装 linux系统–Ubuntu 20.04(实体机安装而非虚拟机) 一.刻录操作系统镜像到U盘 Ubuntu有详细的操作说明(5分钟左右能看完)大概如下 Create a bootabl ...

最新文章

  1. php strtotime 和 date 日期操作
  2. log4j中用变量配置日志输出文件位置
  3. java面试要点005---git和svn的区别
  4. android 4 动画,[Android]开发App,你得知道这些4——动画
  5. 如何查询OS、CPU、内存、硬盘信息
  6. 杰理AC692X系列---关于692x及693x的打开在线调EQ功能(4)
  7. scrapy python版本_[python]scrapy框架构建(2.7版本)
  8. 量化交易——双均线策略(金叉死叉)
  9. 纳德拉:Windows Phone市场份额虽低 但它“完整了体验”
  10. photoshop图片显示为索引,解决办法
  11. Yocto系列讲解[理论篇]24 - BitBake全过程(2)
  12. 联想服务器刀片机型号,ThinkSystem SN550刀片服务器
  13. 【ELM预测】基于极限学习机ELM实现数据预测matlab源码
  14. git pull 拉取代码的时候报错 Pulling is not possible because you have unmerged files.
  15. 看过千万的风景 比不上故乡的美丽
  16. 深入了解什么是可执行文件
  17. 心血来潮在Linux上想整理普通用户,使用命令删除后,发现它还在?
  18. 毕业设计 嵌入式 万能红外遥控器
  19. Dell E515dn 驱动
  20. 22.仿传智播客导航栏案例(精灵图案例)

热门文章

  1. 国际科学数据服务平台 - csdb_拔剑-浆糊的传说_新浪博客
  2. matlab损耗函数曲线,MATLAB 损失函数画图
  3. Manjaro Gnome 安装TIM
  4. 「软件项目管理」一文详解软件项目进度计划
  5. java统计代码的行数
  6. 【大数据之路-阿里巴巴大数据实践】第一篇 数据技术篇
  7. SQL Server修改表结构时,不允许保存更改,阻止保存要求重新创建表的更改
  8. 在vue2.0下安装axios
  9. 硅谷外卖安装axios报错
  10. 手机c语言编译除法保留小数,C/C++整数除法以及保留小数位的问题