Hadoop的安装与配置及示例wordcount的运行

  • 格式:doc
  • 大小:68.00 KB
  • 文档页数:10

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hadoop的安装与配置及示例程序

wordcount的运行

目录

前言 (1)

1 机器配置说明 (2)

2 查看机器间是否能相互通信(使用ping命令) (2)

3 ssh设置及关闭防火墙 (2)

1)fedora装好后默认启动sshd服务,如果不确定的话可以查一下[garon@hzau01 ~]$ service sshd status (3)

2)关闭防火墙(NameNode和DataNode都必须关闭) (3)

4 安装jdk1.6(集群中机子都一样) (3)

5 安装hadoop(集群中机子都一样) (4)

6 配置hadoop (4)

1)配置JA V A环境 (4)

2)配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml文件 (5)

3)将NameNode上完整的hadoop拷贝到DataNode上,可先将其进行压缩后直接scp 过去或是用盘拷贝过去 (7)

4)配置NameNode上的conf/masters和conf/slaves (7)

7 运行hadoop (7)

1)格式化文件系统 (7)

2)启动hadoop (7)

3)用jps命令查看进程,NameNode上的结果如下: (8)

4)查看集群状态 (8)

8 运行Wordcount.java程序 (8)

1)先在本地磁盘上建立两个文件f1和f2 (8)

2)在hdfs上建立一个input目录 (9)

3)将f1和f2拷贝到hdfs的input目录下 (9)

4)查看hdfs上有没有f1,f2 (9)

5)执行wordcount(确保hdfs上没有output目录) (9)

6)运行完成,查看结果 (9)

前言

最近在学习Hadoop,文章只是记录我的学习过程,难免有不足甚至是错误之处,请大家谅解并指正!Hadoop版本是最新发布的Hadoop-0.21.0版本,其中一些Hadoop命令已发生变化,为方便以后学习,这里均采用最新命令。具体安装及配置过程如下:

1 机器配置说明

总共有3台机器:hzau01、hzau02、hzau03

IP地址分别为:192.168.0.4、192.168.0.17、192.168.0.6

操作系统为:Linux2.6.33.3-85.fc13.i686.PAE

jdk版本为:jdk1.6.0_23

hadoop版本为:hadoop-0.21.0

hzau01作为NameNode、JobTracker,其他两台台作为DataNode、TaskTracker

2 查看机器间是否能相互通信(使用ping 命令)

用root登录,在NameNode上修改/etc/hosts文件,加入三台机器的IP地址和机器名,如下:192.168.0.4 hzau01

192.168.0.17 hzau02

192.168.0.6 hzau03

设置好后验证下各机器间是否ping通,用机器名或是IP地址都可以,例如ping hzau02或ping 192.168.0.17

Hadoop要求所有机器上hadoop的部署目录结构要相同并且有一个相同的用户名的帐户,我的默认路径为/home/garon

3 ssh设置及关闭防火墙

1)fedora装好后默认启动sshd服务,如果不确定的话可以查一下[garon@hzau01 ~]$ service sshd status

如没有启动的话,先启动[root@hzau01 ~]# service sshd start

建立ssh无密码登录,在NameNode上[garon@hzau01 ~]ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(''为两个单引号)

会在~/.ssh/生成两个文件:id_dsa和id_dsa.pub,这两是成对出现的,把id_dsa.pub文件追加到DataNode上的authorized_keys

[garon@hzau01 ~]$ scp ~/.ssh/id_dsa.pub hzau02:/home/garon/.ssh (注意其中目标机器后面的:与要传到的文件路径之间没有空格,即sc706:与/home/hadoop/之间没有空格)

scp ~/.ssh/id_dsa.pub hzau03:/home/garon/.ssh

登录到DataNode上,[garon@hzau02 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys ,其余一台一样,注意:追加完后必须修改NameNode和DataNode上的.ssh和authorized_keys 的权限,chmod命令,参数600,完成后测试下,例如ssh hzau02时不需要密码就可以登录,就可以知道ssh设置成功。

2)关闭防火墙(NameNode和DataNode都必须关闭)[root@hzau01 ~]# service iptables stop

注意:每次重新开机启动hadoop前都必须关闭

4 安装jdk1.6(集群中机子都一样)

下载jdk-6u23-ea-bin-b03-linux-i586-18_oct_2010.bin,之后直接安装,我的安装路径为:/usr/java/jdk1.6.0_23,安装后添加如下语句到/etc/profile中:

export JA VA_HOME="/usr/java/jdk1.6.0_23"

export JRE_HOME=/usr/java/jdk1.6.0_23/jre