在Windows下部署hadoop前,都需要安装cygwin软件,那么我们先来看一下,如何安装和配置cygwin
一、cygwin的安装与配置
1、什么是cygwin
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus
solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。
2、cygwin的安装
(1)下载安装程序,下载地址为: http://www.cygwin.com/setup.exe
(2)选择必须安装的包,根据实践有如下包必须选择安
装,否则很可能cygwin安装失败!
Net
Category下的OpenSSL,OpenSSH;
Base Category下的sed;
Editors
Category下的vim,Emacs;
Devel
Category下的subversion,binutils,gcc,gcc-mingw,gdb
(3)点击下一步。一直到完成
说明:虽然cygwin提供在线安装,个人建议先
完全下载到本地,再进行安装,因为在线安装会出现许多莫名奇妙的问题。
2、cygwin的配置
(1)配置环境变量
CLASSPATH=
.;C:Javajdk1.6.0_11libdt.jar;C:Javajdk1.6.0_11lib ools.jar
CYGWIN=ntsec;
JAVA_HOME=C:JavaJDK1.6.0_11;C:Javajre6;
在PATH环境变量中加入如下路径C:cygwinin;C:cygwinusri686-pc-cygwinin;C:Javajdk1.6.0_11in;
(2)安装sshd服务
启动cygwin输入命令:ssh-host-config;
根据提示进行相应的操作直至安装完成,安装成功后立即启动名称为“CYGWIN sshd”的服务。
(3)配置ssh登录
执行ssh-keygen命令,然后根据提示按三次回车键,最后输入如下命令:
cd ~/.ssh/;
cp id_rsa.pub
authorized_keys
至此,cygwin的安装与配置成功,你可以享受cygwin带来的乐趣。
二、hadoop多节点的安装与部署
1、下载hadoop;
本实验用的版本是:hadoop-0.20.1;
2、外部配置
选中一台机子做为jobTracker,namenode,
datanode这个机子为master,这个机器的ip设置为192.168.1.140。另外两台做datanode,TaskTracker为slave,这个机器的ip为192.168.1.141,192.168.1.142
3、为了实现无密码登录ssh服务器,在master机器cygwin的控制台中输入如下命令:
cd ~/.ssh;
chmod 600
authorized_keys;
scp authorized_keys
Administrator@192.168.1.141:~/.ssh/ authorized_keys;
scp authorized_keys Administrator@192.168.1.142:~/.ssh/ authorized_keys;
假如是所用的客户端计算机是第一次登陆SSH服务器,命令行中会提示“Are you sure you want to
continue connecting (yes/no)
?”,只要输入yes即可,SSH服务器会自动将这次的登陆信息存储在/.ssh/known_host文件中。当显示“Fanfare!!!
You are successfully logged in to this
server!!!”时,说明已经成功登陆到ssh服务器计算机内了,需要注重的是,此时在当前控制台内输入的命令都将在ssh服务器计算机里运行。
4、master机器Hadoop机器环境部署:
(1)将安装包解压到F:hadoop
un中;
(2)修改conf目录下的hadoop-env.sh
export JAVA_HOME="/cygdrive/c/Java/jdk1.6.0_11"
(3)修改conf目录下的core-site.xml;
fs.default.name
hdfs://192.168.1.140:9000
......................................
(4)修改conf目录下的hdfs-site.xml;
dfs.datanode.handler.count
1
......................................
dfs.replication
1
......................................
(5)修改conf目录下的mapred-site.xml
mapred.job.tracker
192.168.1.140:9001
......................................
(6)修改conf目录下的masters文件
输入192.168.1.140
(7)修改conf目录下的slaves文件
输入:192.168.1.140
192.168.1.141
192.168.1.142
(7)配置hadoop在cygwin中的环境
用vi打开/etc/profile文件,在文件的末尾追加如下代码:
export HADOOP_HOME=/cygdrive/f/hadoop/run
export PATH=$PATH:$HADOOP_HOME/bin
(8)格式化一个新的分布式文件系统
cd
$HADOOP_HOME
bin/hadoop
namenode -format
5、slave机器Hadoop机器环境部署
把master机器上的F:hadoop拷贝到slave机器上的F盘的根目录下即可。
6、关闭master,slave机器上的Cygwin,然后重启Cygwin。
7、启动master上的hadoop,执行如下命令:
ssh localhost
cd $HADOOP_HOME
bin/start-dfs.sh
bin/start-mapred.sh
jps
8、运行wordcount程序
$ bin/hadoop dfs -put
./test-in input
$ bin/hadoop jar hadoop-0.16.0-examples.jar
wordcount input output
$ bin/hadoop dfs -cat
output/*
9、停止hadoop进行
$
bin/stop-all.sh
10、配置hadoop的开发环境
(1)下载hadoop-0.20.1-eclipse-plugin.jar
(2)将其复制到Eclipse安装目录下的
plugins子目录下。
(3)删除org.eclipse.update目录,重启
Eclipse.
(4) 配置一个Map/Reduce对象,即DFS
location ,将Map/Reduce Master一栏中的host设置为192.168.140,port设置为9001;将DFS Master 一栏中的host设置为192.168.140,port设置为9000;
(5)运行wordcout程序
创建一个Map/Reduce
Project,将wordcount.java拷贝到该工程的src目录下,运行程序。
至此,如果以上没有问题的话,hadoop多节点的运行环境与开发环境配置完毕了,你可以开发Map/Reduce程序了。