Hadoop有三种运行模式,分别如下:
单机(非分布式)模式
伪分布式(用不同进程模仿分布式运行中的各类节点)模式
完全分布式模式
注:前两种可以在单机运行,最后一种用于真实的集群环境,通常用在生产环境上。我们可以搭建本地的伪分布式模式来模拟分布式环境的执行。下面我们将搭建hadoop2.7.1伪分布式。可以按照官方文档进行安装。
二、软硬件设备及安装前环境搭建:
操作系统:CentOS 6.5
软件版本:hadoop-2.6.0,jdk-1.7.0_79
在每台linux虚拟机上,安装:vim,ssh
sudo apt-get install vim
sudo apt-get install ssh
1:jdk-1.7.0——79安装:
上传jdk tar包。将其移动到/usr/lib/Java目录中(如果/usr中没有java目录自行创建)。
#mvjdk-1.7.0_79 /usr/lib/java
2:添加环境变量配置jdk:
在/etc/profile中添加
JAVA_HOME=/usr/lib/java/jdk1.7.0_79
PATH=$JAVA_HOME/bin:$PATH
CLASS PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportJAVA_HOME
exportPATH export CLASSPATH
3:生效java变量:
source/etc/profile
如图即表示jdk安装配置已完成。
4:修改主机名和网络配置:
#vim /etc/sysconfig/network
NETWORKING=yes
对主机设置:
HOSTNAME=Slave2
同时修改:hosts
#vim/etc/hosts
三台主机均添加如下:
在每台linux上,sudo vim /etc/hosts 编写hosts文件。将主机名和ip地址的映射填写进去。编辑完后,结果如下:
5:配置ssh,实现免密登陆:
就是为hadoop用户设置免密码登陆。
添加hadoop用户并为其设置密码:
useradd hadoop
passwd hadoop
切换到hadoop用户:su hadoop
三台主机上,使用 ssh-keygen -t rsa 一路按回车就行了。
刚才都作甚了呢?主要是设置ssh的密钥和密钥的存放路径。 路径为~/.ssh下。
打开~/.ssh 下面有三个文件
authorized_keys,已认证的keys
id_rsa,私钥
id_rsa.pub,公钥 三个文件。
下面就是关键的地方了,(我们要做ssh认证。进行下面操作前,可以先搜关于认证和加密区别以及各自的过程。)
①在master上将公钥放到authorized_keys里。命令:sudo cat id_rsa.pub >> authorized_keys
③修改authorized_keys权限,命令:chmod 644 authorized_keys
④测试是否成功
在主机中使用hadoop用户ssh localhost不用密码,直接进入系统。这就表示成功了。
三、hadoop上传安装于配置:
1:上传hadoop:
把hadoop上传到服务器并解压打/usr/local目录中
也可直接从hadoop官网下载。
切换到/usr/local目录下,修改hadoop-2.7.1的所有者。
4:hadoop配置:
4.1:配置hadoop-env.sh
4.2:配置core-site.xml:
此修改为自己master的主机名+90004.3:配置hdfs-site.xml:
4.4:配置:mapred-site.xml:
代码如下:4.5配置yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
注:value为master主机名。
注意:如果/usr/local/hadoop/etc/hadoop/mapred-site.xml文件没有但是有/usr/local/hadoop/etc/hadoop/mapred-site.xml.template那么最好修改下面这个文件,然后复制一份,改名为上面的名字
4.6:格式化HDFS文件系统的namenode:
四、hadoop伪分布式启动与关闭:
五、验证并启动。
启动后使用jps查看启动的节点: [hadoop@Slave2 hadoop]$ jps11106 DataNode
11305 SecondaryNameNode
11002 NameNode
11500 ResourceManager
574 Jps
11601 NodeManager
如果如图五个节点成功启动则搭建成功。 最好的方法就是按照官方文档进行配置: 集群搭建: