环境条件
JDK1.8
Hadoop 2.7.5
mac os
Hadoop部署步骤
第一步 安装JDK
因为Hadoop是java写的开源框架,所以必须建立在Java的运行环境上。本篇采用的是JDK1.8 ,其实只要1.7以上的版本就可以了
需要配置好JDK的环境变量,这里就不详细说了
第二步 安装Hadoop
a) 下载Hadoop的tar包
下载地址:http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz
b) 解压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文件
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/zzjmay/hadoopwork/hadoop-2.7.5/data</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8000</value>
</property>
</configuration>
2. hdfs-site.xml
对于伪分布模式下replication(副本)设置为1
<configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3. mapred-site.xml
对于这个配置文件比较特殊,我们需要从目录下找到 mapred-site.xml.template这个的模版文件,自己新建一个mapred-site.xml文件.
说明: 配置成计算框架为yarn
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4. yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
以上配置文件配置好,只是第一步,后面还需要给你的本机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测试是否正常。