Hadoop1.2.1安装部署
安装需求
- Java 1.6
- ssh,sshd正常安装
确保可以ssh到localhost,并且不需要密码
1 | ssh localhost |
如果报错,connect to host localhost port 22:Connection refused。说明ssh-server未安装或者未启动。
运行:
1 | ps -ef | grep sshd |
查看sshd进程是否存在,如果不存在,说明没有安装。那么进行安装。
1 | sudo apt-get install openssh-server |
然后再执行ssh localhost
,如果不能无密码登陆,需要做一下操作:
1 | ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa |
相关软件
Ubuntu Linux为例:
1 | sudo apt-get install ssh |
Hadoop下载
从Hadoop官网下载一个稳定版,这里就是1.2.1版本啦。
1 | wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz |
启动Hadoop
1.解压tar -xzvf hadoop-1.2.1.tar.gz
,进入conf/hadoop-env.sh,设置JAVA_HOME为你的JDK目录。
1 | export JAVA_HOME=/path/to/java/home |
2.进入/hadoop-1.2.1目录,运行bin\hadoop
,会显示hadoop的使用说明信息。
1 | Usage: hadoop [--config confdir] COMMAND |
你可以下3中模式来启动hadoop:
- 本地(standalone)模式
- 伪分布(Pseudo-Distributed)式
- 全分布(Full-Distributed)式
本地(Standalone)模式安装
默认情况下,Hadoop就是单机本地模式。方便调试。
下面是一个样例,复制conf目录到input作为输入,找出符合正则的文件,输出到output目录
1 | mkdir input |
伪分布(Pseudo-Distributed)式
配置conf/core-site.xml
1 | <configuration> |
配置conf/hdfs-site.xml
1 | <configuration> |
配置conf/mapred-site.xml:
1 | <configuration> |
格式化一个新的distributed-filesystem
1 | bin/hadoop namenode -format |
启动hadoop:
1 | bin/start-all.sh |
此时可以通过WEB UI控制台来监控NameNode,JobTracker,TaskTracker
- NameNode - http://localhost:50070/dfshealth.jsp/
- JobTracker - http://localhost:50030/jobtracker.jsp/
- TaskTracker - http://localhost:50060/tasktracker.jsp
下面使用distributed filesystem来跑样例:
拷贝conf目录到hadoop的input目录,此时可以在控制台看到创建了目录。
1 | bin/hadoop fs -put conf input |
运行:
1 | bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' |
检查结果:
拷贝output目录到本地并检查:
1 | bin/hadoop fs -get output output |
或者直接在distributed filesystem查看:
1 | bin/hadoop fs -cat output/* |
使用完,可以这样来关闭:
1 | bin/stop-all.sh |
Hadoop分布式部署
详见http://hadoop.apache.org/docs/r1.2.1/cluster_setup.html
参考文档:http://hadoop.apache.org/docs/r1.2.1/single_node_setup.html