码迷,mamicode.com
首页 > 系统相关 > 详细

Mac系统安装Hadoop

时间:2016-05-06 15:23:08      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

我的系统是MAX OS X 10.10.5,所以本文以当前系统版本为例。

技术分享技术分享技术分享

图0-1 系统版本



1. 下载Hadoop

下载链接:http://hadoop.apache.org/releases.html

技术分享技术分享技术分享

图1-1 Hadoop下载页面


我下载的是2.7.2版本的binary,所以我们下面的安装配置以这个版本为例。

下载来,我们解压有得到如下的文件夹:

技术分享技术分享

图1-2 Hadoop解压后的文件目录结构


我们把这个解压文件放到我们想要放的路径中,这里我选的是/Users文件夹的根目录,在里面新建了hadoop文件夹,然后把hadoop-2.7.2文件夹放到hadoop里面;

技术分享技术分享

图1-3 hadoop文件夹在/User文件夹根目录

技术分享技术分享

图1-4 在hadoop文件夹下的hadoop-2.7.2文件夹


2. 得到Java路径

Java路径会在接下来的文件配置中用到,所以我们在这里先要得知我们Java的路径。

我们Mac系统自带Oracle JDK 1.6版本,所以我们只要在Terminal输入java -version就可以得知我们系统的版本号,但是对于一些开发者来说,1.6版本的JDK太老,不适合做一些开发,所以会自己安装一些其他版本的JDK,就像我用的是1.7版本的jdk。那我们怎么得到Java路径呢?

我们可以参考这个链接:

在MAC上查询和设置%JAVA_HOME

因为我们使用这一次,所以我们就不配置java_home的路径里,我们直接到/usr/libexec/文件夹下,找到java_home文件,双击,得到java路径;

技术分享技术分享

图2-1 在/usr/libexec文件夹下的java_home快捷方式

技术分享技术分享

图2-2 双击后得到的java路径

从上图,我得到我的java路径是:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home


3. 配置MAC OS自身环境

这里我们主要配置SSH环境。

打开Terminal,输入如下命令:

ssh localhost 
这时候我们会发现,ssh无法远程登录我们自己的电脑;

技术分享技术分享

图3-1 远程登录失败

这是因为我们没有对自己的电脑开启远程服务,我们在“系统偏好设置-共享-远程登录”打钩,然后选择右侧的“所有用户”;

技术分享

图3-2 开启远程登录服务

然后我们继续Terminal指令操作:

ssh localhost

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
ssh-keygen表示生成秘钥;-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。

这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。接下来,将公钥追加到授权的key中去;

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

这时候,我们MAC OS自身环境配置完毕。


4. Hadoop环境配置

我们修改.bash_profile文件进行配置,在Terminal输入vim ~/.bash_profile编辑文件,在文件中输入如下内容;

技术分享技术分享

图4-1 配置HADOOP_HOME


编辑完成后,我们在Terminal中输入:

source ~/.bash_profile
使我们的编辑有效。

但是我们这样编辑只能使本次有效,如果我们关闭Terminal,重新打开后,我们会发现,之前的配置失效了,为了使我们的配置永久有效,我们需要进行如下指令的输入:

vim ~/.bashrc

在.bashrc(MAC OS 10.2及之前修改.zshrc)文件中输入如下内容:

技术分享

图4-2 .bashrc文件编辑

然后在Terminal输入:

source ~/.bashrc
使我们的更改有效。


5. 文件配置

这里我们主要针对/hadoop-2.7.2/etc/hadoop的文件夹(hadoop2.0版本一下在/hadoop-1.x.x/bin文件夹)中的hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml(2.7.2版本没有mapred-site.xml只有mapred-site.xml.template,所以这里我们新建一个mapred-site.xml文件夹)进行修改配置。

hadoop-env.sh文件修改如下:

我们用到了之前得到的Java路径;

技术分享技术分享

在export JAVA_HOME=${JAVA_HOME}前面添加:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home


去掉HADOOP_HEAPSIZE的注释,并设置为2000;

技术分享

export HADOOP_HEAPSIZE=2000

注释掉原来的HADOOP_OPTS,并添加:

技术分享

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

core-site.xml文件修改如下:

<configuration>
    <property>  
        <name>hadoop.tmp.dir</name>  
        <value>file:/Users/hadoop/hadoop-2.7.2/tmp</value>  
        <description>A base for other temporary directories.</description>  
    </property> 
    <property>  
        <name>fs.default.name</name>  
        <value>hdfs://localhost:8020</value>  
    </property>  
</configuration>

hdfs-site.xml文件修改如下:

<configuration>
	<property>  
	    <name>dfs.namenode.name.dir</name>  
	    <value>file:/Users/hadoop/hadoop-2.7.2/tmp/dfs/name</value>
	</property>  
	<property>  
	    <name>dfs.datanode.data.dir</name>  
	    <value>file:/Users/hadoop/hadoop-2.7.2/tmp/dfs/data</value>
	</property>  
</configuration>

mapred-site.xml文件修改如下:

<configuration>  
    <property>  
        <name>mapred.job.tracker</name>  
        <value>hdfs://localhost:9001</value>  
    </property>  
    <property>  
        <name>mapred.tasktracker.map.tasks.maximum</name>  
        <value>2</value>  
    </property>  
    <property>  
        <name>mapred.tasktracker.reduce.tasks.maximum</name>  
        <value>2</value>  
    </property>  
</configuration>  

6. 安装HDFS

在Terminal输入:

$HADOOP_HOME/bin/hdfs namenode -format

老版本hadoop使用hadoop指令:

$HADOOP_HOME/bin/hadoop namenode -format


如果执行指令后出现如下情况说明,HDFS已成功安装;

技术分享

图6-1 HDFS成功安装


7. 开启Hadoop

我们在Terminal输入:

$HADOOP_HOME/sbin/start-all.sh
老版本hadoop输入:

$HADOOP_HOME/bin/start-all.sh

如果运行结果如下图,说明我们的hadoop已成功开启;

技术分享

技术分享
图7-1 Hadoop成功开启



---END---

Mac系统安装Hadoop

标签:

原文地址:http://blog.csdn.net/wj_november/article/details/51320518

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!