Hadoop学习(三)Hadoop环境搭建
想要在你的电脑中运行Hadoop有三种方式:Hadoop本地模式,Hadoop伪分布模式,Hadoop完全分布模式。下面是对这三种模式的介绍:
- 独立(本地)运行模式:无需任何守护进程,所有的程序都运行在同一个JVM上执行。在独立模式下调试MR程序非常高效方便。所以一般该模式主要是在学习或者开发阶段调试使用 。
- 伪分布式模式: Hadoop守护进程运行在本地机器上,模拟一个小规模的集群,换句话说,可以配置一台机器的Hadoop集群,伪分布式是完全分布式的一个特例。
- 完全分布式模式:Hadoop守护进程运行在一个集群上。
注意:所谓分布式要启动守护进程,即:使用分布式hadoop时,要先启动一些准备程序进程,然后才能使用比如start-dfs.sh start-yarn.sh。而本地模式不需要启动这些守护进程。
因为我只是为了学习和开发,这里就只介绍本地模式和伪分布式的配置方法
一.Hadoop本地模式
1.安装前的准备
1.配置安装linux虚拟环境
2.下载hadoop安装包
我下载的是2.7.7版本的,可以点击这个链接直接下载:http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
3.下载java jdk
推荐java 7或java 8的版本,因为我之前下载HBase的时候就不兼容java 10,然后只能重新下载jdk8的
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择linux 64位系统,压缩后缀是tar.gz
4.下载好之后解压
熟悉liunx的读者应该知道,解压命令:
tar -zxvf 要解压的文件名(tar.gz结尾)-C 解压后的路径
//如果不是超级用户还要在前面加一个sudo,否则会报错 permission denied
我一般解压后的文件放在/usr/local/中,读者可以自己选择
2.配置JAVA环境变量
我使用的是vim命令修改配置文件,所以要先安装vim编辑工具。代码如下:
sudo apt-get install vim-gtk
修改bashrc文件,添加环境变量
vim ~/.bashrc
在文件末尾加入如下内容:
export JAVA_HOME=java jdk 所在的路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME)/bin:$PATH
有些文件是只读文件,用户无法修改,对于这些文件,可以用下面这个指令来保存修改
w !sudo tee %
再用soure命令,使其生效:
source ~/.bashrc
输入:java -version
能显示版本号,就表示JDK配置成功。
3.配置Hadoop环境
配置前,最好先切换到超级用户,修改一下hadoop文件夹的读写权限,如
sudo chmod -R 777 hadoop所在的地址
配置hadoop的环境变量:vim /etc/profile
#hadoop
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:/$HADOOP_HOME/sbin
source /etc/profile使其生效
3.测试
证配置是否成功,在/usr/local/hadoop文件夹下输入bin/Hadoop version 可以查看hadoop版本
二.伪分布式配置
1.配置core-site.xml和hdfs-site.xml文件
配置hadoop目录下的etc/hadoop/core-site.xml文件:vim /usr/local/hadoop/etc/hadoop/core-site.xml
添加如下内容:
配置hdfs-site.xml文件,和core-sit.xml在同一文件夹下,添加如下内容
2.安装SSH并设置免密
SSH (Secure Shell)为建立在应用层和传输层基础上的安全协议。专为远程登录会话和其他网络服务提供安全性的协议。Ssh在hadoop中用来实现节点的登入和节点间传输文件。
输入指令
sudo apt-get install ssh
安装rsync:一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。可以通过ssh方式来传输文件。
sudo apt-get install rsync
输入指令
ssh-****** -t dsa -P ” -f ~/.ssh/id_dsa
可以看到这个命令生成了一个id_dsa(私钥)文件,和一个id_dsa.pub(公钥)文件。
用cat命令追加公钥
输入指令:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
完成后可以输入指令 ssh localhost进行验证
3.启动Hadoop
首先需要进入hadoop文件夹下,对hadoop文件系统进行格式化,格式化的指令为
bin/hdfs namenode -format
输入如下代码:
sbin/start-dfs.sh
运行成功后再用jps查看进程,可以看到在进程中跑的namenode,datanode,secondarynamenode。
也可以在网页上查看,输入:localhost:50070
可以看到有一个节点活着。说明hdfs配置成功。
以上内容就是配置完了hdfs
官网还提供了修改mapred-site.xml和yarn-site.xml文件来运行yarn。
4. 配置mapred-site.xml文件
编辑mapred-site.xml文件,和刚才那两个文件在同一个文件夹下
添加如下内容:
测试中发现,配置了mapreduce.framework.name的值,运行程序报错。原因是ubuntu开启了防火墙,使得nodemanager处于安全模式。所以要先关闭ubuntu防火墙。命令如下:
sudo ufw disable
5. 配置yarn-site.xml文件
编辑yarn-site.xml文件,同样在一个文件夹下
添加如下内容:
6.运行yarn资源管理器
可用jps查看
可以在页面localhost:8088中看到资源管理器。
到此yarn配置完成。