手机版
你好,游客 登录 注册
背景:
阅读新闻

在Ubuntu部署Hadoop之全分布模式

[日期:2013-01-12] 来源:Linux社区  作者:welbeckxu [字体: ]

接上一篇《在Ubuntu部署Hadoop之伪分布模式 》。

相关阅读:

在Ubuntu部署Hadoop之单机模式 http://www.linuxidc.com/Linux/2013-01/77683.htm

在Ubuntu部署Hadoop之伪分布模式 http://www.linuxidc.com/Linux/2013-01/77684.htm

在Ubuntu部署Hadoop之全分布模式 http://www.linuxidc.com/Linux/2013-01/77685.htm

安装一个Hadoop集群时,需要专门指定一个服务器作为主节点。

三台虚拟机搭建的集群:(搭建集群时主机名不能一样,主机名在/etc/hostname修改)

master机器:(集群的主节点,驻留NameNode和JobTracker守护进程

IP:10.1.229.1 机器名:xukangde-01

slaves机器:(集群的从节点,驻留DataNode和TaskTracker守护进程

IP:10.1.229.2 机器名:xukangde-02

IP:10.1.229.3 机器名:xukangde-03

这三台机器都安装好了hadoop-0.20.2,JDK和ssh。

这三台机器都要编辑/etc/hosts

增加:

10.1.229.1    xukangde-01

10.1.229.2    xukangde-02

10.1.229.3    xukangde-03
SSH Access

master必须能以passless ssh访问slaves

xukangde@xukangde-01:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub xukangde@xukangde-02
xukangde@xukangde-01:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub xukangde@xukangde-03

执行以上的命令都需要输入对方的密码。

完成后,可以在master上分别运行:

xukangde@xukangde-01:~$ ssh xukangde-02
xukangde@xukangde-01:~$ ssh xukangde-03

看是否不需要输入密码,如果不需要则设置正确。

配置

只对于master机器(xukangde-01):

更新conf/masters文件如下:

xukangde-01

更新conf/slaves文件如下:

xukangde-01

xukangde-02

xukangde-03

对于这三台机器

更新三个配置文件的相关属性

<!-- In: conf/core-site.xml -->
<property>
<name>fs.default.name</name>
<value>hdfs://xukangde-01:9000</value> ------定位文件系统的NameNode
</property>

<!-- In: conf/mapred-site.xml -->
<property>
<name>mapred.job.tracker</name>
<value>xukangde-01:9001</value> --------定位JobTrecker所在主节点
</property>

<!-- In: conf/hdfs-site.xml -->
<property>
<name>dfs.replication</name>
<value>3</value> -----------增大HDFS备份参数
</property>
第一次运行

首先需要Format namenode

(格式化之前最好在所有机器上清空hdfs/data,hdfs/name,以免造成冲突)

在xukangde-01上运行:

xukangde@xukangde-01:~/hadoop$ bin/hadoop namenode -format
开启集群
开启 HDFS daemons

在xukangde-01上运行:

xukangde@xukangde-01:~/hadoop$ bin/start-dfs.sh

开启后,可以在master和slave上运行jps命令,查看开启的daemons

开启MapReduce daemons

在xukangde-01上运行:

xukangde@xukangde-01:~/hadoop$ bin/start-mapred.sh

可以在master和slave上运行jps命令,查看开启的daemons

运行MapReduce Job

在xukangde-01机器上运行WordCount:

首先在dfs中创建input目录

xukangde@xukangde-01:~/hadoop$ bin/hadoop dfs -mkdir input

将conf中的文件拷贝到dfs中的input:

xukangde@xukangde-01:~/hadoop$ bin/hadoop dfs -copyFromLocal conf/* input
运行WordCount
xukangde@xukangde-01:~/hadoop$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
显示输出结果文件:
xukangde@xukangde-01:~/hadoop$ bin/hadoop dfs -cat output/*
关闭集群
关闭MapReduce daemons

在master上运行:

xukangde@xukangde-01:~/hadoop$ bin/stop-mapred.sh

关闭HDFS daemons

在master上运行:

xukangde@xukangde-01:~/hadoop$ bin/stop-dfs.sh

至此,在ubuntu的hadoop集群所运行的三种模式都已经部署好了。

linux
相关资讯       Hadoop部署  Hadoop全分布模式 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2013/6/20 17:55:28
hadoop