本次测试安装的机器为Mac Book Pro, 系统为 OS X 10.9.4。Hadoop版本2.4.1。
使用Java版本为Oracle的JDK 1.6.0_65。
1. 下载安装 Hadoop2.x
此处下载的是 2.4.1,下载后解压缩。解压缩后的目录为 hadoop-2.4.1/
2. 修改配置
(1) hadoop-2.4.1/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(2) hadoop-2.4.1/etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3) hadoop-2.4.1/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/Library/Java/Home
export HADOOP_PREFIX=/Users/beef_in_jp/Documents/hadoop/hadoop-2.4.1
(4) 确认ssh
$ ssh localhost
如果上面的指令不成功的话,执行以下指令(创建RSA密钥,将公钥导入至用户认可密钥集中,这样ssh localhost就可以不用输入密码而登录了)。:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3. 分布式文件系统(DFS)的初始化和启动 (Pseudo-Distributed模式)
(1) 格式化文件系统
./bin/hdfs namenode -format
执行完成后,输出结果中可以看到:
14/09/24 15:01:29 INFO common.Storage: Storage directory /tmp/hadoop-beef_in_jp/dfs/name has been successfully formatted.
(2) 启动文件系统:
./sbin/start-dfs.sh
输出结果中有如下错误:
2014-09-24 15:08:09.682 java[37564:1003] Unable to load realm info from SCDynamicStore
google了一下,http://blog.csdn.net/feitongxunke/article/details/37592573 中提到了要在hadoop-env.sh中添加如下配置:
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
(3) 在浏览器中确认名称节点的网页入口: http://localhost:50070/
(4) 执行MapReduce任务的Example。
创建HDFS目录
./bin/hdfs dfs -mkdir /user
./bin/hdfs dfs -mkdir /user/<username>
可以看一下是否创建成功:
./bin/hdfs dfs -ls
执行hadoop自带的测试任务:
bin/hdfs dfs -put etc/hadoop input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+'
查看执行结果:
$ bin/hdfs dfs -get output output
$ cat output/*
(5) 关闭文件系统
sbin/stop-dfs.sh
4. 配置和启动YARN
etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
etc/hadoop/yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动:
sbin/start-yarn.sh
通过网页入口查看运行状态:http://localhost:8088/
关闭:
sbin/stop-yarn.sh