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完成。