环境条件

JDK1.8

Hadoop 2.7.5

mac os

Hadoop部署步骤

第一步 安装JDK

因为Hadoop是java写的开源框架,所以必须建立在Java的运行环境上。本篇采用的是JDK1.8 ,其实只要1.7以上的版本就可以了

需要配置好JDK的环境变量,这里就不详细说了

第二步 安装Hadoop

//tar开下载下来的hadoop包

tar -xzvf hadoop-2.7.5.tar.gz

//copy到你准备存放的目录

mv /User/zzjmay/hadoop-2.7.5 /User/zzjmay/hadoopworker/

c) 配置Hadoop的环境变量

在mac os系统上,你需要像配置java环境变量一样,配置hadoop的环境变量哈

我这里设置的全局的环境变量

修改/etc/profile

export HADOOP_HOME=/Users/zzjmay/hadoopwork/hadoop-2.7.5

//需要注意的,hadoop需要配置bin和sbin下两个目录

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

经过以上的配置,你就可以通过Hadoop version命令来诊断是否按配置成功hadoop了

第三步 配置Hadoop

首先我们需要了解Hadoop有三种运行模式

**本地模式(Local) **无需运行任何的守护进程,所有程序都在同一个JVM上执行。HDFS在这种模式下,用的就是本地的文件系统

伪分布模式 Hadoop守护进程运行在本地机器上,模拟一个小规模的集群

全分布模式 Hadoop守护进程运行在一个集群

接下来主要说明Hadoop的伪分布模式的部署过程

需要配置几个配置文件 目录 hadoop2.7.5/etc/hadoop

1. core-site.xml文件

hadoop.tmp.dir

/Users/zzjmay/hadoopwork/hadoop-2.7.5/data

fs.default.name

hdfs://localhost:8000

2. hdfs-site.xml

对于伪分布模式下replication(副本)设置为1

dfs.replication

1

3. mapred-site.xml

对于这个配置文件比较特殊,我们需要从目录下找到 mapred-site.xml.template这个的模版文件,自己新建一个mapred-site.xml文件.

说明: 配置成计算框架为yarn

mapreduce.framework.name

yarn

4. yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

以上配置文件配置好,只是第一步,后面还需要给你的本机mac设置为SSH免登录设置,对于mac的免登录配置这个有一些坑,小编我也是踩坑和搜索了好久才解决了本机的免密登陆

第四步 Mac 系统的SSH免密登陆

1. 设置我们mac的远程登陆打开

系统偏好设置 --> 共享 ---> 远程登陆勾选上,以下语句判断是否开启远程登陆

systemsetUp -getremotelogin

2. 生成秘钥对

生产秘钥对语句

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

将生成的公钥提交给服务器上sshd中,本机的话如下

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

对于一般经过以上两步,如果不能实现 ssh localhost的免密效果的话,我们可以考虑从以下几个地方解决

a) 设置authorizd_key的权限为644,外层的/.ssh 的文件夹权限为700

b) mac的sshd一般默认没有打开免密登陆的选项,需要手动开启

/etc/ssh 目录下的sshd_config

PubkeyAuthentication yes

第五步 运行Hadoop

进入你本机安装的Hadoop的目录,格式化文件系统

目录:/Users/zzjmay/hadoopwork/hadoop-2.7.5/libexec

格式化命令:bin/hdfs namenode -format

启动所有进程

sbin/start-all.sh

访问localhost:50070和localhost:8088测试是否正常。