Hadoop有三种操作模式,分别为单机模式,伪分布模式和全分布模式。
本文简单介绍和区分三种操作模式,并参考网上的文章,记录自己搭建伪分布模式集群的过程。
最后使用hadoop提供的example程序尝试运行。
1. Hadoop的三种模式
单机模式
- Hadoop的默认操作模式,该模式主要用于开发调试MapReduce程序的应用逻辑,而不会和守护进程交互
- 使用本地文件而不是HDFS
- 不会启动
NameNode
、DataNode
等守护进程,MapTask和ReduceTask作为同一进程的不同部分来执行
伪分布模式
-
操作是指在“单节点集群”上运行Hadoop,即一台主机模拟多台主机,
NameNode
、DataNode
等守护进程都运行在同一台机器上,是相互独立的Java进程 -
该模式在单机模式操作之上多了代码调试功能,可以查阅内存的使用情况、HDFS的输入输出以及守护进程之间的交互
全分布模式
- 实际意义上的Hadoop集群,守护进程运行在多台主机搭建的集群上
- 需要在所有主机安装JDK和Hadoop,组成相互连通的网络
- 在主机间设置SSH免密码登陆,把各个从节点(slave node) 生成的公钥添加到主节点的信任列表
2. 环境
-
系统:ubuntu16.04
-
JDK版本:jdk1.8.0_201
-
hadoop版本:hadoop-2.6.5
3. JDK安装
- 下载JDK1.8,打开链接JDK 1.8,选择Linux x64,下载得到
jdk-8u201-linux-x64.tar.gz
- 使用tar命令解压,并放在
/opt/jdk1.8.0_201
,若对/opt
没有权限,可以使用chown命令修改拥有者
tar -xf jdk-8u201-linux-x64.tar.gz #解压
(chown [用户名] /opt) #修改拥有者
mv jdk1.8.0_201 /opt/ #移动到opt目录下
- 配置JDK的环境变量,即在/etc/profile文件中加入对应语句
vim /etc/profile #打开配置文件
#添加两行代码
export JAVA_HOME=/opt/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
- 激活环境变量
source /etc/profile
java -version #检查是否安装成功
- 这样每次启动terminal时都得激活一次环境变量,我的处理方式是修改用户目录下的
.bashrc
文件,使得每次启动时自动执行激活环境变量的操作,如下: