Hadoop是Intel公司推出的一款分布式系统框架,可以用于多个系统的协同工作,主要原理使用了MapReduce框架,先将原始数据map到不同的部分,在分布式系统中处理完成后再重新reduce成为一个整体。Hadoop在云计算中可以发挥独特的作用,今天先从安装单机节点模式开始对Hadoop有个感性的认识。
首先说下我的安装环境:Ubuntu 12.04.2
Hadoop版本:1.1.2
1. 安装前准备:在正式安装hadoop之前必须先安装两个包,一个是必须安装Java包,因为Hadoop运行时需要Java进程,我使用的是Java 1.7,安装包为jre-7u25-linux-i586.tar.gz;另一个需要安装ssh,作为远程安全登录客户端协议。
2. 从Hadoop官方发布网站下载所需版本: 中的 hadoop-1.1.2.tar.gz
3. tar包到指定目录,在hadoop-1.1.2中的bin目录中有hadoop的执行程序,接下来对单机节点和伪分布节点进行测试:
3.1 单机节点:这种模式在一个主机上运行Hadoop,作为一个独立的Java进程运行,可以用以下方法进行测试:
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
$ cat output/*
3.2伪分布模式:这种模式下不同的Hadoop作为独立的Java进程运行
首先要修改配置文件:conf下的core-site.xml文件
修改配置文件hdfs-site.xml
修改mapred-site.xml
确认ssh可用:ssh localhost
如果ssh不成功,则可以使用以下命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
执行测试:
首先格式化一个新的分布式系统:
#bin/hadoop namenode -format
启动hadoop守护进程
#bin/start-all.sh
hadoop守护进程的日志会保存在HADOOP_LOG_DIR所指定的位置
将输入目录复制到分布式系统:
bin/hadoop fs -put conf input
运行测试实例
bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
检查输入结果
bin/hadoop fs -get output output
cat output/*
阅读(623) | 评论(0) | 转发(0) |