分享

Eclipse3.3 (windows7)连接远程hadoop(RedHat.Enterprise.Linux.5)并测试程序

pig2 2013-11-27 15:40:33 发表于 实操演练 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 6903
对于新手不知道怎么调试hadoop,这里给大家介绍一下Eclipse3.3 (windows7)连接远程hadoop(RedHat.Enterprise.Linux.5)并测试程序一、hadoop集群安装
机器名
IP
作用
NameNode
192.168.1.1
NameNode、master、jobTracker
DataNode1
192.168.1.2
DataNode、slave、taskTracker
DataNode2
192.168.1.3
DataNode、slave、taskTracker
机器满足1G 内存,2G 更好。Linux5 安装后,可不启动图形界面,节约内存。
安装步骤:
1、安装RedHat.Enterprise.Linux.5
用介质安装linux,安装完后修改机器名:$ hostname 机器名。
在/etc/hosts 中添加机器名和相应的IP:
127.0.0.1                localhost
192.168.1.1           NameNode
192.168.1.2           DataNode1
192.168.1.3           DataNode2
修改/etc/inittab文件:
id:5:initdefault: 改为id:3:initdefault:
重新启动OS就不会进入图形界面了
2、开启ssh 服务
#service sshd start
可以在windows 下用SSH Secure Shell Client来测试一下。
3、关闭防火墙(所有机器)
# chkconfig  --levels  2345  iptables  off
注意:这步非常重要。如果不关闭,会出现找不到datanode 问题。
4、建立ssh 无密码登录
(1)在NameNode 上实现无密码登录本机:
$ ssh-keygen -t rsa
直接回车,完成后会在~/.ssh/生成两个文件:id_rsa 和id_rsa.pub。
$ ssh-keygen -t dsa
直接回车,完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。
$cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys  将生成的密钥串在钥匙链上
$cat ~/.ssh/id_dsa.pub  >> ~/.ssh/authorized_keys  将生成的密钥串在钥匙链上
$ chmod 600  ~/.ssh/authorized_keys。
(2)实现NameNode 无密码登录其他DataNode:
把NameNode 上的authorized_keys 文件追加到dataNode 的authorized_keys 内( 以
192.168.0.2 节点为例):
a. 拷贝NameNode 的authorized_keys 文件:
$ scp authorized_keys mark@192.168.0.2:/home/mark/
b. 登录192.168.0.2,执行$ cat authorized_keys >>~/.ssh/authorized_keys
其他的dataNode 执行同样的操作。
注意:如果配置完毕,如果namenode 依然不能访问datanode,可以修改datanode 的
authorized_keys的读写权限(很重要!):
$ chmod 600 ~/.ssh/authorized_keys。

5、安装jdk1.6
下载地址:http://java.sun.com/javase/downloads/widget/jdk6.jsp,下载后,直接安装。本例的安装路径为/usr/java/jdk1.6.0_31。
安装后,添加如下语句到/etc/profile 中:
export JAVA_HOME==/usr/java/jdk1.6.0_31
export JRE_HOME==/usr/java/jdk1.6.0_31 /jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
注意:每台机器的java 环境最好一致。安装过程中如有中断,切换为root 权限来安装。

6、安装hadoop
下载hadoop-0.20.2.tar.gz
解压:$ tar –zvxf hadoop-0.20.2.tar.gz
把Hadoop 的安装路径添加到环/etc/profile 中:
export HADOOP_HOME=/home/mark/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH

7、配置hadoop
hadoop 的主要配置都在hadoop-0.20.2/conf 下。
(1)在conf/hadoop-env.sh 中配置Java 环境(namenode 与datanode 的配置相同):
$ gedit hadoop-env.sh
$ export JAVA_HOME=/usr/java/jdk1.6.0_31
(2)配置conf/masters 和conf/slaves 文件:(只在namenode 上配置)
masters: 192.168.1.1
slaves:
192.168.1.2
192.168.1.3
(3)配置conf/core-site.xml, conf/hdfs-site.xml 及conf/mapred-site.xml(简单配置,datanode 的配置相同)
core-site.xml:
<configuration>
<!--- global properties -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/mark/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<!-- file system properties -->
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.1:9000</value>
</property>
</configuration>
hdfs-site.xml:( replication 默认为3,如果不修改,datanode 少于三台就会报错)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.1:9001</value>
</property>
</configuration>

8、运行hadoop
进入hadoop-0.20.2/bin,首先格式化文件系统:$ hadoop namenode –format
启动Hadoop:$ start-all.sh
$./start-dfs.sh  
$./start-mapred.sh
用jps 命令查看进程,NameNode 上的结果如下:
[mark@namenode ~]$ jps
8872 JobTracker
8650 NameNode
15183 Jps
8780 SecondaryNameNode
[mark@namenode ~]$
DataNode 上的结果:
[mark@DataNode1 ~]$ jps
7346 DataNode
28263 Jps
7444 TaskTracker
[mark@DataNode1 ~]$
查看集群状态:$ hadoop dfsadmin –report
[mark@namenode ~]$  hadoop dfsadmin -report
Configured Capacity: 222387527680 (207.11 GB)
Present Capacity: 201404645376 (187.57 GB)
DFS Remaining: 201404182528 (187.57 GB)
DFS Used: 462848 (452 KB)
DFS Used%: 0%
Under replicated blocks: 2
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 3 (3 total, 0 dead)

Name: 192.168.1.2:50010
Decommission Status : Normal
Configured Capacity: 60261593088 (56.12 GB)
DFS Used: 167936 (164 KB)
Non DFS Used: 6507544576 (6.06 GB)
DFS Remaining: 53753880576(50.06 GB)
DFS Used%: 0%
DFS Remaining%: 89.2%
Last contact: Fri Mar 30 10:18:12 CST 2012


Name: 192.168.1.3:50010
Decommission Status : Normal
Configured Capacity: 101864341504 (94.87 GB)
DFS Used: 143360 (140 KB)
Non DFS Used: 7971401728 (7.42 GB)
DFS Remaining: 93892796416(87.44 GB)
DFS Used%: 0%
DFS Remaining%: 92.17%
Last contact: Fri Mar 30 10:18:12 CST 2012

9、运行wordcount.java 程序
(1)先在本地磁盘建立两个输入文件file01 和file02:
$ echo “Hello World Bye World” > file01
$ echo “Hello Hadoop Goodbye Hadoop” > file02
(2)在hdfs 中建立一个input 目录:$ hadoop fs –mkdir input
(3)将file01 和file02 拷贝到hdfs 中:
$ hadoop fs –copyFromLocal /home/mark/file0* input
(4)执行wordcount:
$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output
(5)完成之后,查看结果:
$ hadoop fs -cat output/part-r-00000
Bye 1
Goodbye 1
Hadoop 2
Hello 2
World 2

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条