2013-11-01
使用的linux mint 15 64bit,hadoop使用的是1.2.1版本。
1、设置ssh
安装ssh相关软件包:
然后使用下面两个命令之一启动/关闭sshd:
若成功启动sshd,我们能看到如下类似结果:
这时候,如果运行如下ssh登录本机的命令,会提示输入密码:
现在我们要做的就是让它不需要输入密码:
这样的话就行了。如果仍不凑效,可能是密钥文件的权限设置不当。
2、配置hadoop
将hadoop-1.2.1解压到~/下,同时在~/下建立目录hadoop-env,继续在hadoop-env下建立如下的目录结构:
配置文件hadoop-1.2.1/conf/core-site.xml:
fs.default.name来指定HDFS的uri,如果value中没有提供端口,默认为8020。
配置文件hadoop-1.2.1/conf/hdfs-site.xml:
dfs.name.dir指定namenode存储元数据的目录,可以指定多个目录,这些目录要用逗号分开;dfs.data.dir指定datanode存放数据的目录,可以指定多个目录;fs.checkpoint.dir指定辅助namenode存放检查点的目录。
要是图个方面的话,也可以这样配置hadoop-1.2.1/conf/hdfs-site.xml:
配置文件hadoop-1.2.1/conf/mapred-site.xml:
在/etc/profile中加入相关环境变量:
终端中执行下面的命令:
若需要的话,把hadoop-1.2.1/bin
加入$PATH
。
3、测试
先格式化HDFS:
启动HDFS和MapReduce进程:
启动时候如果报错,例如localhost: Error: JAVA_HOME is not set.
,需要在./hadoop-1.2.1/conf/hadoop-env.sh
文件中export JAVA_HOME
,例如:
如何检查是否成功启动了: 第一种方法是使用jps命令(Java Virtual Machine Process Status Tool),应该有如下类似输出:
第二种方法是浏览器登录http://localhost:50030
查看jobtracker,http://localhost:50070
查看namenode。如果在使用翻墙软件,那么在访问时可能会报错,最简单的解决方法是关掉翻墙软件。 还有一种方法就是查看日志文件。
现在我们在~/hadoop-env/test/input目录下建立两个文件:
把这两个文件导入HDFS:
查看:
OK.