您的位置:首页 > 运维架构

在Mac上安装Hadoop

2014-04-13 22:42 204 查看


获取Java

我的Mac运行的操作系统是OSX10.7Lion,之前已经安装过Java了,可以在实用工具->终端中使用java-version命令来确认java的版本。如果没有安装java,也可以进入下面网址下载:http://support.apple.com/kb/dl1421。


获取Hadoop

具体的地址自己百度吧。我下载的是1.0.4的stable版本。

下载完之后解压缩,我这里放置的目录是/users/Billy/Hadoop。

配置macos自身环境

这个主要是配置ssh环境。先在terminal里面输入

sshlocalhost

会有错误提示信息,表示当前用户没有权限。这个多半是系统为安全考虑,默认设置的。更改设置如下:进入systempreference-->sharing-->勾选remotelogin,并设置allowaccessforallusers。再次输入“sshlocalhost",再输入密码并确认之后,可以看到ssh成功。

不过这里面还有一个麻烦,就是每次都会要求输入用户密码。《Hadoop实战》提供了一种免登陆的方法。首先,输入

ssh-keygen-tdsa-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


设置环境变量

在实际启动Hadoop之前,有三个文件需要进行配置。

但在这之前,我们需要设置一下几个类似Windows的环境变量,方便以后在命令行敲命令。

exportHADOOP_HOME=/users/billy/hadoop

exportPATH=$PATH:$HADOOP_HOME/bin


配置hadoop-env.sh

在Hadoop->conf目录下,找到hadoop-env.sh,打开编辑进行如下设置:

exportJAVA_HOME=/library/Java/Home(去掉注释)

exportHADOOP_HEAPSIZE=2000(去掉注释)

exportHADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK-Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"(去掉注释)

注意第三个配置在OSX上最好进行配置,否则会报“Unable
toloadrealminfofromSCDynamicStore”。


配置core-site.xml



<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/users/billy/hadoop/tmp/hadoop-${user.name}</value>

<description>Abaseforothertemporarydirectories.</description>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:8020</value>

</property>

</configuration>


配置hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>


配置mapred-site.xml

<configuration>
<property>

<name>mapred.job.tracker</name>

<value>localhost:8021</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>


安装HDFS

经过以上的配置,就可以进行HDFS的安装了。

$HADOOP_HOME/bin/hadoopnamenode-format

如果顺利的话,会得到类似如下的输出:

BillymatoMacBook-Air:hadoopBilly$$HADOOP_HOME/bin/hadoopnamenode-format

Warning:$HADOOP_HOMEisdeprecated.

12/12/0217:11:12INFOnamenode.NameNode:STARTUP_MSG:

/************************************************************

STARTUP_MSG:StartingNameNode

STARTUP_MSG:host=BillymatoMacBook-Air.local/192.168.1.102

STARTUP_MSG:args=[-format]

STARTUP_MSG:version=1.0.4

STARTUP_MSG:build=https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0-r1393290;compiledby'hortonfo'onWedOct305:13:58UTC2012

************************************************************/

12/12/0217:11:12INFOutil.GSet:VMtype=64-bit

12/12/0217:11:12INFOutil.GSet:2%maxmemory=39.9175MB

12/12/0217:11:12INFOutil.GSet:capacity=2^22=4194304entries

12/12/0217:11:12INFOutil.GSet:recommended=4194304,actual=4194304

12/12/0217:11:12INFOnamenode.FSNamesystem:fsOwner=Billy

12/12/0217:11:12INFOnamenode.FSNamesystem:supergroup=supergroup

12/12/0217:11:12INFOnamenode.FSNamesystem:isPermissionEnabled=true

12/12/0217:11:12INFOnamenode.FSNamesystem:dfs.block.invalidate.limit=100

12/12/0217:11:12INFOnamenode.FSNamesystem:isAccessTokenEnabled=falseaccessKeyUpdateInterval=0min(s),accessTokenLifetime=0min(s)

12/12/0217:11:13INFOnamenode.NameNode:Cachingfilenamesoccuringmorethan10times

12/12/0217:11:13INFOcommon.Storage:Imagefileofsize111savedin0seconds.

12/12/0217:11:13INFOcommon.Storage:Storagedirectory/users/Billy/hadoop/tmp/hadoop-Billy/dfs/namehasbeensuccessfullyformatted.

12/12/0217:11:13INFOnamenode.NameNode:SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG:ShuttingdownNameNodeatBillymatoMacBook-Air.local/192.168.1.102

************************************************************/


启动Hadoop

很简单,一条命令搞定。

$HADOOP_HOME/bin/start-all.sh

顺利的话,一般会让你输入三次账号的密码。


简单调试

如果想试试看是否已经成功启动,可以用自带的例子试验一下:

$hadoopjar$HADOOP_HOME/hadoop-example-1.0.4.jarpi10100

成功的话,会有类似结果:

BillymatoMacBook-Air:hadoopBilly$hadoopjar$HADOOP_HOME/hadoop-examples-1.0.4.jarpi10100

Warning:$HADOOP_HOMEisdeprecated.

NumberofMaps=10

SamplesperMap=100

WroteinputforMap#0

WroteinputforMap#1

WroteinputforMap#2

WroteinputforMap#3

WroteinputforMap#4

WroteinputforMap#5

WroteinputforMap#6

WroteinputforMap#7

WroteinputforMap#8

WroteinputforMap#9

到这里,单节点的Hadoop就在MacOSX上安装完成了。进入你的Hadoop世界吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: