1.hadoop支持的平台:
- GNU/Linux平台是一个开发和生产的平台. hadoop已经被证明可以在GNU/Linux平台不是2000多个节点.
- win32是一个开发平台,分布式操作还没有在win32系统上很好的测试, 所以它不被作为生产环境。
2.安装hdoop需要的软件:
linux和windows下安装hadoop需要的软件:
2.1从sun官网下载的1.6的jdk必须被安装.
2.2ssh 必须被安装 and ssh协议必须使用hadoop脚本用来管理远程的hadoop进程。
2.3windows环境下,额外需要安装下面软件:Cygwin - 运行上述软件必须安装的shell环境。
3.安装软件:
如果你的集群没有必要的软件,那么你必须安装它们
在unbuntu linux上执行命令如下:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
在windows环境下,如果你安装cywin的话,你不必安装上述软件,只需要在安装cygwin的时候选择相关的软件包即可。
openssh - the Net category
4.下载hadoop地址:
http://hadoop.apache.org/releases.html
5.准备开始hadoop的集群:
解压下载好的hadoop软件包,在该软件包中,编辑conf/hadoop-env.sh文件,在其中定义JAVA_HOME。
尝试一下命令:
$ bin/hadoop
它会给你展示如何使用hadoop脚本。
现在你将进行安装三种hadoop支持模式中的一种即本地安装:
- 本地(单节点) 模式
- 伪分布模式
- 分布式安装模式
6.单节点安装:
在默认情况下,hadoop被配置用来运行不是分布式的模式,作为一个单独的java进程。这种模式对于调试来说非常有用。
这个示例程序是hadoop自带的,用于把conf下的xml文件拷贝到input目录下,并且找到并显示所有与最后一个参数的正则表达式相匹配的行,output是输出文件夹
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-examples-*.jar grep input output ‘dfs[a-z.]+‘
$ cat output/*
如此,本地安装完毕!
7.伪分布式安装
hadoop同样也可以以伪分布式模式在一个独立的节点上运行,其中每个hadoop进程都以独立的java进程运行。
7.1配置:
使用以下配置:
conf/core-site.xml: <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> <description>localhost切换成本地的机器名</description> </property> </configuration> conf/hdfs-site.xml: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> conf/mapred-site.xml: <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration> |
7.2安装ssh
现在可以测试本地免密码登录了:
$ ssh localhost
如果你无法本地免密码登录,你可以执行以下密令,重新生成ssh 秘钥:
$ ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
7.3执行:
格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format
启动hadoop进程:
$ bin/start-all.sh
hadoop进程的日志输出目录是: ${HADOOP_LOG_DIR} directory (defaults to ${HADOOP_HOME}/logs).
通过网页来浏览Namenode和Jobtracker状态, 默认情况下它们的访问地址是:
- NameNode - http://localhost:50070/
- JobTracker - http://localhost:50030/
7.4测试hadoop:
把input中的文件拷贝到分布式系统:
$ bin/hadoop fs -put conf input
运行提供一些示例:
$ bin/hadoop jar hadoop-examples-*.jar grep input output ‘dfs[a-z.]+‘
检查输出:
从分布式系统中拷贝output中的文件到本地目录,并进行检测它们:
$ bin/hadoop fs -get output output
$ cat output/*
or
查看output下的分布式目录:
$ bin/hadoop fs -cat output/*
停止进程:
$ bin/stop-all.sh
至此,伪分布式安装hadoop完成。