Eclipse33 windows7连接远程hadoopRedHatEnterpriseLinux5并测试程序Word格式文档下载.docx
《Eclipse33 windows7连接远程hadoopRedHatEnterpriseLinux5并测试程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Eclipse33 windows7连接远程hadoopRedHatEnterpriseLinux5并测试程序Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
在/etc/hosts中添加机器名和相应的IP:
127.0.0.1localhost
192.168.1.1NameNode
192.168.1.2DataNode1
192.168.1.3DataNode2
修改/etc/inittab文件:
id:
5:
initdefault:
改为id:
3:
重新启动OS就不会进入图形界面了
2、开启ssh服务
#servicesshdstart
可以在windows下用SSHSecureShellClient来测试一下。
3、关闭防火墙(所有机器)
#chkconfig--levels2345iptablesoff
注意:
这步非常重要。
如果不关闭,会出现找不到datanode问题。
4、建立ssh无密码登录
(1)在NameNode上实现无密码登录本机:
$ssh-keygen-trsa
直接回车,完成后会在~/.ssh/生成两个文件:
id_rsa和id_rsa.pub。
$ssh-keygen-tdsa
id_dsa和id_dsa.pub。
$cat~/.ssh/id_rsa.pub>
>
~/.ssh/authorized_keys将生成的密钥串在钥匙链上
$cat~/.ssh/id_dsa.pub>
$chmod600~/.ssh/authorized_keys。
(2)实现NameNode无密码登录其他DataNode:
把NameNode上的authorized_keys文件追加到dataNode的authorized_keys内(以
192.168.0.2节点为例):
a.拷贝NameNode的authorized_keys文件:
$scpauthorized_keysmark@192.168.0.2:
/home/mark/
b.登录192.168.0.2,执行$catauthorized_keys>
~/.ssh/authorized_keys
其他的dataNode执行同样的操作。
如果配置完毕,如果namenode依然不能访问datanode,可以修改datanode的
authorized_keys的读写权限(很重要!
):
5、安装jdk1.6
下载地址:
安装后,添加如下语句到/etc/profile中:
exportJAVA_HOME==/usr/java/jdk1.6.0_31
exportJRE_HOME==/usr/java/jdk1.6.0_31/jre
exportCLASSPATH=.:
$JAVA_HOME/lib:
$JRE_HOME/lib:
$CLASSPATH
exportPATH=$JAVA_HOME/bin:
$JRE_HOME/bin:
$PATH
每台机器的java环境最好一致。
安装过程中如有中断,切换为root权限来安装。
6、安装hadoop
下载hadoop-0.20.2.tar.gz
解压:
$tar–zvxfhadoop-0.20.2.tar.gz
把Hadoop的安装路径添加到环/etc/profile中:
exportHADOOP_HOME=/home/mark/hadoop-0.20.2
exportPATH=$HADOOP_HOME/bin:
7、配置hadoop
hadoop的主要配置都在hadoop-0.20.2/conf下。
(1)在conf/hadoop-env.sh中配置Java环境(namenode与datanode的配置相同):
$gedithadoop-env.sh
$exportJAVA_HOME=/usr/java/jdk1.6.0_31
(2)配置conf/masters和conf/slaves文件:
(只在namenode上配置)
masters:
192.168.1.1
slaves:
(3)配置conf/core-site.xml,conf/hdfs-site.xml及conf/mapred-site.xml(简单配置,datanode的配置相同)
core-site.xml:
<
configuration>
!
---globalproperties-->
property>
name>
hadoop.tmp.dir<
/name>
value>
/home/mark/tmp<
/value>
description>
Abaseforothertemporarydirectories.<
/description>
/property>
--filesystemproperties-->
fs.default.name<
hdfs:
//192.168.1.1:
9000<
/configuration>
hdfs-site.xml:
(replication默认为3,如果不修改,datanode少于三台就会报错)
dfs.replication<
1<
mapred-site.xml:
mapred.job.tracker<
192.168.1.1:
9001<
8、运行hadoop
进入hadoop-0.20.2/bin,首先格式化文件系统:
$hadoopnamenode–format
启动Hadoop:
$start-all.sh
$./start-dfs.sh
$./start-mapred.sh
用jps命令查看进程,NameNode上的结果如下:
[mark@namenode~]$jps
8872JobTracker
8650NameNode
15183Jps
8780SecondaryNameNode
[mark@namenode~]$
DataNode上的结果:
[mark@DataNode1~]$jps
7346DataNode
28263Jps
7444TaskTracker
[mark@DataNode1~]$
查看集群状态:
$hadoopdfsadmin–report
[mark@namenode~]$hadoopdfsadmin-report
ConfiguredCapacity:
222387527680(207.11GB)
PresentCapacity:
201404645376(187.57GB)
DFSRemaining:
201404182528(187.57GB)
DFSUsed:
462848(452KB)
DFSUsed%:
0%
Underreplicatedblocks:
2
Blockswithcorruptreplicas:
0
Missingblocks:
-------------------------------------------------
Datanodesavailable:
3(3total,0dead)
Name:
192.168.1.2:
50010
DecommissionStatus:
Normal
60261593088(56.12GB)
167936(164KB)
NonDFSUsed:
6507544576(6.06GB)
53753880576(50.06GB)
DFSRemaining%:
89.2%
Lastcontact:
FriMar3010:
18:
12CST2012
192.168.1.3:
101864341504(94.87GB)
143360(140KB)
7971401728(7.42GB)
93892796416(87.44GB)
92.17%
9、运行wordcount.java程序
(1)先在本地磁盘建立两个输入文件file01和file02:
$echo“HelloWorldByeWorld”>
file01
$echo“HelloHadoopGoodbyeHadoop”>
file02
(2)在hdfs中建立一个input目录:
$hadoopfs–mkdirinput
(3)将file01和file02拷贝到hdfs中:
$hadoopfs–copyFromLocal/home/mark/file0*input
(4)执行wordcount:
$hadoopjarhadoop-0.20.2-examples.jarwordcountinputoutput
(5)完成之后,查看结果:
$hadoopfs-catoutput/part-r-00000
Bye1
Goodbye1
Hadoop2
Hello2
World2
二、windows开发机器