近来一个新上的项目需要用到Hadoop做大数据挖掘,时不我待,趁机也学学分布式计算。
以下介绍在Windows下安装与配置Hadoop:
1、在地址http://www.java.com/zh_CN/download/manual.jsp下安装JDK,下载最新的JDK1.6(更高的版本未必具有较好的兼容性),之后双击安装即可。这是因为Hadoop的编译及MapReduce程序的运行很多地方需要使用JDK,只安装JRE是不够的,程序会自动配置环境变量。
2、安装Cygwin:
Cygwin是在Windows下的一个模拟Unix环境的工具,只有通过它才能在Windows环境下安装Hadoop,可以通过www.cygwin.com下载。运行安装程序-->install from internet,选择合适的下载程序.--->进入select package界面,然后选中net,选中openssl及openssh,如果打算在Eclipse下编译Hadoop,还必须安装base category下的sed:the GNU sed stream editor,另外建议安装Editors下的vim,便 于在Cygwin上直接修改配置文件。
3、配置环境变量,在我的电脑——>属性的环境变量中path目标路径下添加Cygwin下的bin目录。
4、安装sshd服务:单击桌面上的Cygwin图标,启动后执行ssh-host-config命令,当要求输入yes/no时,全部输入no,出现“Have Fun”时,表示sshd服务安装成功;
5、在我的电脑——>服务中启动Cygwin sshd服务,或DOS下net start sshd
但由于本人使用的Win7系统,在服务项中一直找不到sshd,而且在窗口中输入也是以下图1所示非常恼火
于是按以下操作:
请注意是yes yes no yes,再输pwd. 最后再输入net start sshd,终于告以成功。
但问题又来了,我又查看了服务,发现服务根本就启动不了.....
于是只能需要执行mkpasswd 和 mkgroup重新生成权限信息:
$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ cygrunsrv -R sshd 删除ssd服务
$ ssh-host-config -y 重新配置
$ cygrunsrv -S sshd 启动服务。
sshd服务启动成功。
真是一波三折,Win7用不熟害人死。
6、配置sshd免密码登录,执行ssh-keygen命令生成密钥文件。
7、重新启动Cygwin,执行ssh localhost命令,第一次提示输入yes即可。
8、安装并运行hadoop:
hadoop有官方发行版与cloudera版,其中cloudera版是hadoop的商用版本,这里介绍官方发行版。hadoop有三种运行方式:单机、伪分布式、完全分布式。前两种不能体现cloud的优势,只是用于程序调试。我们可以在www.apache.org/dyn/closer.cgi/Hadoop/core下载hadoop-1.0.1.tar.gz,解压到/home/Administrator之下。
a.单机版模式无需安装,Hadoop被认为是一个单独的Java进程,这种方式经常用于调试;
b. 伪分布式Hadoop配置:把Hadoop看成是一个只有一个节点的集群,这个节点既为Master也是Slave,既是Namenode也是DataNode,既是JobTracker也是TaskTracker。伪配置也比较简单,只需修改几个文件。
step1:建立jdk link: ln -s /cygdrive/d/Program\ Files/Java/jdk1.6.0_22 /usr/local/jdk
step2:打开conf文件夹,配置hadoop-env.sh: export JAVA_HOME=/usr/local/jdk
step3:修改hadoop目录下conf目录下的core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
step4:修改hdfs-site.xml与mapred-site.xml
c.完全分布式配置:
(未完待续)