1.软件准备工作:
java:mac自带的1.8.0_20
hadoop: 1.2.1
eclipse:Mars.1 Release (4.5.1)
2.配置:
环境变量
修改/etc/basrc,添加如下变量:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home(mac上java得默认安装目录)
export HADOOP_INSTALL=/Users/Moon/hadoop-1.2.1/
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
export CLASS_PATH=$JAVA_HOME/lib
保存文件,执行source /etc/bashrc,使配置生效ssh:
ssh-keygen -t rsa
cp id_rsa.pub authorized_keys
测试:ssh localhost
注意,此时可能会报警,22端口无法修改
修改:系统偏好设置-共享-远程登录,打开即可
3.hadoop安装
1.解压压缩文件至安装目录hadoop-1.2.1
2.配置hadoop-env.sh
启用JAVA_HOME变量,将其值改为JAVA_HOME变量的值
3.配置core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
此属性用于namenode,指定hdfs文件系统的URL,通过此URL可以访问文件系统的内容
如果是完全分布式,此变量改为namenode的IP地址,默认端口8020
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/Moon/Data/tmp/</value>
</property>
hadoop默认临时路径,最好配置,如果新增节点或其他情况下datanode无法启动,删除此目录。
如果删除此目录,那么开启hadoop之前,必须先格式化
4.配置hfs-site.xml
<property>
<name>dfs.data.dir</name>
<value>/Users/Moon/Data/hadoopData</value>
</property>
hdfs存储目录,数据存储目录,用户datanode存放数据
<property>
<name>dfs.name.dir</name>
<value>/Users/Moon/Data/hadoopName</value>
</property>
用于存储namenode的文件系统元数据,包括编辑日志和文件系统影响,
如果更换,需要重新格式化namenode
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
节点备份数据
5.配置mapped-site.xml
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
配置job tracker节点,localhost可以换成本机IP
真实分布式下改成实际job tracker的ip
4.hadoop启动
1.测试是否配置成功
$hadoop version
Hadoop 1.2.1
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152
Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013
From source with checksum 6923c86528809c4e7e6f493b6b413a9a
This command was run using /Users/Moone/hadoop-1.2.1/hadoop-core-1.2.1.jar