Mac下的hadoop环境搭建(伪分布式)
一.安装Java
1.下载以及安装
官网下载jdk,我下载的是1.8.0_45
网址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html如下所示:
然后安装,默认安装路径是:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
2.测试是否安装成功
在终端输入 :
java -version
如果安装成功,则会显示相应的java版本。
二.下载安装Hadoop
网址:http://mirrors.cnnic.cn/apache/hadoop/common/我下载的是stable1里的hadoop-1.2.1.tar.gz,即1的稳定版。
然后解压到users/liu的hadoop文件夹下,路径为:/Users/liu/hadoop/hadoop-1.2.1
如下所示:
三.Hadoop配置
1.配置hadoop-env.sh
在Hadoop->conf目录下,找到hadoop-env.sh,打开编辑进行如下设置:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home(去掉前面的注释#)
注意JAVA_HOME的路径是否正确。
export HADOOP_HEAPSIZE=2000(去掉前面的注释#)
注:有的博客中写道需要把下一行也注释掉
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"(去掉注释)
我没找到这一句,所以没有这一项。
2.配置core-site.xml——指定了NameNode的主机名与端口
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.default.name</name> <value>localhost:9000</value> </property> </configuration>
3.配置hdfs-site.xml——指定了HDFS的默认参数副本数,因为仅运行在一个节点上,所以这里的副本数为1
<!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
4.配置mapred-site.xml——指定了JobTracker的主机名与端口
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
5.ssh配置
(1)打开系统偏好设置中的共享,勾选远程登录,并选择所有用户。
(2)然后下面的方法可以ssh免登陆
终端输入:
ssh-****** -t dsa -P '' -f ~/.ssh/id_dsa
此时在终端输入:
ls ~/.ssh
可以看到文件夹中有了id_dsa和id_dsa.pub,是ssh的一对私钥和公钥。
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
6.设置环境变量
在启动Hadoop之前,有三个环境变量需要进行配置。
export HADOOP_HOME=/Users/liu/hadoop/hadoop-1.2.1 (根据你自己的目录进行设定)
export PATH=$PATH:$HADOOP_HOME/bin
注:export设置只对当前的bash登录session有效。这是存在内存里面的。如果你嫌麻烦,就直接写入etc中的profile文件里面就好。
四.测试
1.测试
完成上面设置后,在终端输入:
$HADOOP_HOME/bin/hadoop namenode -format
如果出现以下情况则表示成功:
2.启动hadoop
$HADOOP_HOME/bin/start-all.sh
如果出现以下情况则hadoop启动成功: