Linux系统,Hadoop,R语言,RHadoop的安装
目录
安装准备
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的安装相关推荐
- linux系统使用R语言,R语言-基础操作
今天本人来学习R语言,先来学习一些基础的操作. (1)c() c()是用来创建一个向量,比如 (2)length() length()用来获取一个向量的长度. (3)mode() 获取向量中数据的类型 ...
- 基于Linux系统的C语言多关卡推箱子设计
基于Linux系统的C语言多关卡推箱子设计 目录 基于Linux系统的C语言多关卡推箱子设计 前言 一.设计方案 二.功能设计 2.1功能简述 2.2流的类型和操作 2.3标准I/O 2.4流的使用 ...
- R语言介绍及安装教程
R语言是一种免费的开源编程语言和环境,主要用于数据分析.统计建模和可视化.它可以运行在不同的操作系统上,如Windows.MacOS和Linux.R语言具有以下特点: 丰富的数据处理和统计分析函数库: ...
- c语言 r语言 java,R语言rJava包安装载入及JAVA环境配置
rJava 包的安装与载入 一般文本分词的教程都会贴出: install.packages("rJava") library(rJava) 来引导我们装载rJava包,运行inst ...
- R语言运行环境安装配置
想要运行R语言代码,首先需要安装好R语言的运行环境--RGui,很多人包括我自己喜欢另一个运行环境--Rstudio.下面分别就安装RGui.Rstudio做分别说明. 1.安装RGui 去R语言官方 ...
- ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装
ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装 系统安装 下载CentOS系统制作系统U盘 笔记本电源设置 网络设置 WiFi类型查看验证设置联网 设置固定IP 安装MySQ ...
- r语言 读服务器数据,R语言数据实战 | 安装R语言
原标题:R语言数据实战 | 安装R语言 1.R的获取和安装 获取和安装R很容易(这也是它"亲民"的地方),具体步骤如下: Step 1: 登陆R语言官方网站https://www. ...
- Linux系统之温度监控工具——lm_sensors的安装和基本使用
Linux系统之温度监控工具--lm_sensors的安装和基本使用 一.lm_sensors介绍 二.检测安装环境 1.检查yum仓库 2.检查系统版本 三.安装lm_sensors 四.侦测硬件 ...
- Windows系统下R语言环境搭建及高级图表绘制
1.R语言环境及其编译软件下载安装: 链接:https://pan.baidu.com/s/186hjytYEqJB2kDUed0beAA 提取码:mtwh 先安装R-4.0.3-win.exe,这 ...
- 在笔记本上安装 linux系统--Ubuntu 20.04(实体机安装而非虚拟机)
在笔记本上安装 linux系统–Ubuntu 20.04(实体机安装而非虚拟机) 一.刻录操作系统镜像到U盘 Ubuntu有详细的操作说明(5分钟左右能看完)大概如下 Create a bootabl ...
最新文章
- php strtotime 和 date 日期操作
- log4j中用变量配置日志输出文件位置
- java面试要点005---git和svn的区别
- android 4 动画,[Android]开发App,你得知道这些4——动画
- 如何查询OS、CPU、内存、硬盘信息
- 杰理AC692X系列---关于692x及693x的打开在线调EQ功能(4)
- scrapy python版本_[python]scrapy框架构建(2.7版本)
- 量化交易——双均线策略(金叉死叉)
- 纳德拉:Windows Phone市场份额虽低 但它“完整了体验”
- photoshop图片显示为索引,解决办法
- Yocto系列讲解[理论篇]24 - BitBake全过程(2)
- 联想服务器刀片机型号,ThinkSystem SN550刀片服务器
- 【ELM预测】基于极限学习机ELM实现数据预测matlab源码
- git pull 拉取代码的时候报错 Pulling is not possible because you have unmerged files.
- 看过千万的风景 比不上故乡的美丽
- 深入了解什么是可执行文件
- 心血来潮在Linux上想整理普通用户,使用命令删除后,发现它还在?
- 毕业设计 嵌入式 万能红外遥控器
- Dell E515dn 驱动
- 22.仿传智播客导航栏案例(精灵图案例)