Hadoop基础教程之分布式环境搭建

前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下。

在这里,我们采用这样的策略来模拟环境,我们使用3台ubuntu机器,1台为作主机(master),另外2台作为从机(slaver)。同时,这台主机,我们就用第一章中搭建好的环境来。

我们采用与第一章中相似的步骤来操作:

1、运行环境搭建

在前面,我们知道,运行hadoop是在linux上运行的。所以我们单机就在ubuntu上运行着。所以同样,2台从机,同样采用linux系统。为了节省资源,本人试验时用了2台centOS系统,而且是采用命令行的方式,没有用图形方式。

系统中软件准备,第一章中我们准备了subversion ssh ant 和jdk。那在这里,从机上我们不要这么多了,我们不用再下载、编译代码了,从主机上复制就行。所以在从机上只需要安装ssh 和jdk这两个:

先用 sudo apt-get install ssh这个命令,把SSH安装起来。

注:在centOS中,使用yum install ssh。

java环境,可以在网上下载一个JDK安装包,如:jdk-6u24-linux-i586.bin

安装直接在目录下运行./jdk-6u24-linux-i586.bin即可。

然后配置jdk目录:

先进入安装目录 cd jdk-6u24-…

然后输入 PWD 就可以看到java安装目录,复制下来:

命令行执行:sudo gedit /etc/profile

在打开的文件里,追加:

export JAVA_HOME=/home/administrator/hadoop/jdk1.6.0_27 //这里要写安装目录

export PATH=${JAVA_HOME}/bin:$PATH

执行source /etc/profile 立即生效

2、网络配置

要想运行分布式环境,那这3台计算机(虚拟机)肯定是要联网才行。同时,三台之前也要畅通无阻。

如果直接采用虚拟机,就比较方便了,默在虚拟机中都使用NAT联网方式即可:

分别进入三个系统,用ifconfig命令,可以查到当前分配过来的IP地址:

如上图中可以看到是10.0.0.11。

如果发现没有eth0,也就是说网卡还没启用或分配好地址,则可以手动分配:

ifconfig eth0 10.0.0.12 netmask 255.255.255.0 //设置eht0 的IP地址

route add default gw 10.0.0.2                 //设置网关

在VMware中,怎么看到网关呢,可以在菜单 编辑->虚拟网络编辑器 中看到:

网关一定要配置对,否则光IP地址后,机器之前互想ping不通的。

在配置好IP后,可以尝试ping一下网关和其他机器,看是否能通。

在这里,我们3台机IP为:

主机 master : 10.0.0.10

从机1 salter1 :10.0.0.11

从机2 salter2 :10.0.0.12

有了3台机器的IP地址,我们想,后面在配置中肯定会用到,但为了方便以后IP地址的变动,所以我们还是用另名吧。在window中,我们知道在C:\Windows\System32\driver\etc下,有个host文件,修改后,就可以将IP换成别名了。

在linux中,同样有这个文件,在/etc/hosts中。所以编辑一下: $vi /etc/hosts:

文件保存后,就可以试一下ping master ping node1来代替IP地址了。

这个操作需要在三个机器上都操作一下。

现在网络了,为了后面操作,在所有部署运行hadoop的机器上,都必须使用相同的帐号。所以需要在2台从机上创建一个与主机一样的帐号、密码:

比如都用zjf帐号: $user add zjf 设置密码: $passwd zjf 进入该帐号: $su zjf

有可能机器上会有防火墙,影响后面的远程,所以可以先关一下:

$ service iptables stop

3、配置SSH

第1章中我们了解了SSH的功能,在这里就可真正派用处了。

我们在master机中,用ssh试一下连接node1:

可以看到,需要输入密码才能够进入。远程启动所有从机时,一个个输入密码,也不是个好事,得配置下:

1)在从机node1中先实现自己登陆自己时不要输入密码。

这个在第1章中已经描述。这里就不多述了。结果就是:

2)让主结点(master)能通过SSH免密码登录两个子结点(slave)

为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样当master就可以顺利安全地访问这两个slave结点了。操作过程如下:

?


1

2

3

$cd ~/.ssh

$scp zjf@master:~/.ssh/id_dsa.pub ./master_dsa.pub

$cat master_dsa.pub >> authorized_keys

好了,配置完后,回到master机器中,再来试一下ssh node1:

OK,成功进入,没有要输入密码。

同样,把node2也安这个方式操作一下。

4、配置hadoop

在第一章配置基础上,我们需要增加两项配置:

在conf文件夹下,找到masters文件,编辑,在里面输入master后保存:

在同文件夹下,找到slaves,编辑,在里面输入node1 node2后保存:

打开conf下core-site.xml:

里面的localhost换成master。

打开conf下的marped-site.xml:

同样,也是里面的localhost换成master。

5、复制hadoop包

前 面,在一台机器上部署时,我们的hadoop包是通过SVN下载了源码,然后再用ant编译出来的,但在这里,从机上就不用这么麻烦了,我们可以从主机上 复制过去。如何复制呢? 远程登陆我们用SSH,远程复制就用SCP。在复制前要注意,我们在主机中hadoop存放在什么位置,在从机中也要存放在该位置才行。

比如,在主机中,我们存放于test下,所以在2台node上,都创建一下test文件夹。

然后在主机上执行:scp -r hadoop-0.20.2/ node1:~/test 然后会看到刷屏,表示在复制了。

同样执行: scp -r hadoop-0.20.2/ node2:~/test

好了,现在两台从机上也都有了hadoop包了。

6、运行

在主机上,进入hadoop-0.20.2目录,运行bin/start-all.sh,即可以启动整个分布式系统了。

然后在主机上运行jps:

在从机上运行jps:

在主服务器上打开 http://localhost:50070,可以看到:

有两个活动的结点,点进去,可以看到:

点下面的结点可以查看详细,如果点开页面打不开,则有可能是机器防火墙阻止了。

可以进入相应机器,执行

$ service iptables stop

来关闭防火墙。

我们可以尝试上传一下文件:

$bin/hadoop fs -put ~/Tool/eclipse-SDK-3.7.1-linux-gtk.tar.gz test1.tar.gz

可以看到:

再上传一下文件:

$bin/hadoop fs -put ~/Tool/eclipse-SDK-3.7.1-linux-gtk.tar.gz test2.tar.gz

可以看到:

但发现不平衡,都跑一台上了。所以可以执行命令

$bin/hadoop balancer -threshold 1

这样,再来看:

平衡了。

时间: 2024-10-11 05:45:25

Hadoop基础教程之分布式环境搭建的相关文章

Hadoop学习笔记(3)——分布式环境搭建

Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里,我们采用这样的策略来模拟环境,我们使用3台ubuntu机器,1台为作主机(master),另外2台作为从机(slaver).同时,这台主机,我们就用第一章中搭建好的环境来. 我们采用与第一章中相似的步骤来操作: 运行环境搭建 在前面,我们知道,运行hadoop是在linux上运行的.所以我们单机就在

Hadoop 2.x伪分布式环境搭建测试

Hadoop 2.x伪分布式环境搭建测试 标签(空格分隔): hadoop hadoop,spark,kafka交流群:459898801 1,搭建hadoop所需环境 卸载open JDK rpm -qa |grep java rpm -e –nodeps [java] 1.1,在/opt/目录下创建四个目录: modules/ software/ datas/ tools/ 解压hadoop-2.5.0及jdk-7u67-linux-x64.tar.gz至modules目录下. $tar -

[hadoop]hadoop2.6完全分布式环境搭建

在经过几天的环境搭建,终于搭建成功,其中对于hadoop的具体设置倒是没有碰到很多问题,反而在hadoop各节点之间的通信遇到了问题,而且还反复了很多遍,光虚拟机就重新安装了4.5次,但是当明白了问题之后才发现这都是无用功,有了问题应该找具体的解决方案,并不是完全的重装,这样不会明白问题是怎么解决的,除了费时费力没有多大的用处,接下来就把搭建的过程详细叙述一下. 环境配置: 计算机: CPU-I7 2630QM 6G内存 256G SSD 虚拟机: vmware workstation 11 系

一、Hadoop伪分布式环境搭建

Hadoop 2.x伪分布式环境搭建步骤: 1.修改hadoop-env.sh.yarn-env.sh.mapred-env.sh 方法:使用notepad++(beifeng用户)代开这三个文件 添加代码:export JAVA_HOME=/opt/modules/jdk1.7.0_67 2.修改core-site.xml.hdfs-site.xml.yarn-site.xml.mapred-site.xml配置文件 1)修改core-site.xml <configuration> <

【Hadoop基础教程】4、Hadoop之完全分布式环境搭建

上一篇blog我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTracker所有的守护进程全部运行在K-Master节点之上.在本篇blog我们将搭建完全分布式环境,运行NameNode.SecondaryNameNode.JobTracker守护进程在主节点上,运行DataNode.TaskTracker在从节点上. 开发环境 硬件环境:Centos 6.5 服务器

【Hadoop基础教程】1、Hadoop之服务器基础环境搭建

本blog以K-Master服务器基础环境配置为例分别演示用户配置.sudo权限配置.网路配置.关闭防火墙.安装JDK工具等.用户需参照以下步骤完成KVMSlave1~KVMSlave3服务器的基础环境配置. 开发环境 硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 软件环境:Java 1.7.0_45.hadoop-1.2.1 1.安装环境 硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 软件环境:Java

【Hadoop基础教程】2、Hadoop之单机模式搭建

单机模式所需要的系统资源是最少的,这种安装模式下,Hadoop的core-site.xml.mapred-site.xml.hdfs-site.xml配置文件均为空.默认情况下,官方hadoop-1.2.1.tar.gz文件默认使用的就是单机安装模式.当配置文件为空时,Hadoop完全运行在本地,不与其他节点交互,也不使用Hadoop文件系统,不加载任何守护进程,该模式主要用于开发调试MapReduce应用程序的逻辑,不与任何守护进程交互进而避免复杂性.以hadoop用户远程登录K-Master

【转】Hadoop HDFS分布式环境搭建

原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统,因此研究了一下如何在Linux 下配置一个HDFS Clust.小记一下,以备将来进一步研究和记忆. HDFS简介 全称 Hadoop Distributed File System, Hadoop分布式文件系统. 根据Google的GFS论文,由Doug Cutting使用JAVA开发的开源项目

Hadoop 分布式环境搭建

Hadoop 分布式环境搭建 一.前期环境 安装概览 IP Host Name Software Node 192.168.23.128 ae01 JDK 1.7 NameNode, SecondaryNameNode, DataNode, JobTracker, TaskTracker 192.168.23.129 ae02 JDK 1.7 DataNode, TaskTracker 192.168.23.130 ae03 JDK 1.7 DataNode, TaskTracker 若使用虚拟