環(huán)境條件
JDK1.8
Hadoop 2.7.5
mac os
Hadoop部署步驟
第一步 安裝JDK
因為Hadoop是java寫的開源框架,所以必須建立在Java的運行環(huán)境上。本篇采用的是JDK1.8 ,其實只要1.7以上的版本就可以了
需要配置好JDK的環(huán)境變量,這里就不詳細說了
第二步 安裝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的環(huán)境變量
在mac os系統(tǒng)上,你需要像配置java環(huán)境變量一樣,配置hadoop的環(huán)境變量哈
我這里設(shè)置的全局的環(huán)境變量
修改/etc/profile
export HADOOP_HOME=/Users/zzjmay/hadoopwork/hadoop-2.7.5
//需要注意的,hadoop需要配置bin和sbin下兩個目錄
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
經(jīng)過以上的配置,你就可以通過Hadoop version命令來診斷是否按配置成功hadoop了
第三步 配置Hadoop
首先我們需要了解Hadoop有三種運行模式
- **本地模式(Local) **無需運行任何的守護進程,所有程序都在同一個JVM上執(zhí)行。HDFS在這種模式下,用的就是本地的文件系統(tǒng)
- 偽分布模式 Hadoop守護進程運行在本地機器上,模擬一個小規(guī)模的集群
- 全分布模式 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(副本)設(shè)置為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設(shè)置為SSH免登錄設(shè)置,對于mac的免登錄配置這個有一些坑,小編我也是踩坑和搜索了好久才解決了本機的免密登陸
第四步 Mac 系統(tǒng)的SSH免密登陸
1. 設(shè)置我們mac的遠程登陸打開
系統(tǒng)偏好設(shè)置 --> 共享 ---> 遠程登陸勾選上,以下語句判斷是否開啟遠程登陸
systemsetUp -getremotelogin
2. 生成秘鑰對
生產(chǎn)秘鑰對語句
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
將生成的公鑰提交給服務(wù)器上sshd中,本機的話如下
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
對于一般經(jīng)過以上兩步,如果不能實現(xiàn) ssh localhost的免密效果的話,我們可以考慮從以下幾個地方解決
a) 設(shè)置authorizd_key的權(quán)限為644,外層的/.ssh 的文件夾權(quán)限為700
b) mac的sshd一般默認沒有打開免密登陸的選項,需要手動開啟
/etc/ssh 目錄下的sshd_config
PubkeyAuthentication yes
第五步 運行Hadoop
- 進入你本機安裝的Hadoop的目錄,格式化文件系統(tǒng)
目錄:/Users/zzjmay/hadoopwork/hadoop-2.7.5/libexec
格式化命令:bin/hdfs namenode -format
- 啟動所有進程
sbin/start-all.sh
- 訪問localhost:50070和localhost:8088測試是否正常。