您的位置:首页 > 大数据 > 人工智能

虚拟机搭建hadoop的全分布式集群-in detail (4)

2014-06-03 22:15 465 查看
虚拟机搭建hadoop的全分布式集群-in detail(1)

虚拟机搭建hadoop的全分布式集群-in detail (2)

虚拟机搭建hadoop的全分布式集群-in detail (3)

在以上三篇博客中,在VirtualBox上创建了三个CentOS6.5的虚拟机,作为全分布式Hadoop集群的master节点和slave1节点以及slave2节点, 并设置三个虚拟机之间的SSH无密码登录,在三个虚拟机上安装JDK并设置环境变量。这样Hadoop全分布式集群搭建的准备工作就全部完成了~三个虚拟机的情况如下

虚拟机名称主机名IP地址
master节点CentOS6.5-MasterMaster192.168.1.110
slave1节点CentOS6.5-Slave1Slave1192.168.1.111
slave2节点CentOS6.5-Slave2Slave2192.168.1.112
下面在三个虚拟机上部署Hadoop的master和slave节点。之前已经在三个虚拟机上创建了名为sunnie的普通用户。部署和配置过程参考http://www.linuxidc.com/Linux/2014-05/101687.htm

Hadoop下载地址hadoop-1.2.1.tar.gz

以用户sunnie的身份登录主机Master.

将下载下来的hadoop-1.2.1.tar.gz拷贝到/home/sunnie/Documents/目录下并解压

在/home/sunnie/Documents/hadoop-1.2.1/下创建一个新的目录tmp

接下来分别配置hadoop-env.sh, core-site.xml, hdfs-site.xml, mapred-site.xml, masters, slaves文件。

vim /home/sunnie/Documents/hadoop-1.2.1/conf/hadoop-env.sh

在最后追加export JAVA_HOME=/usr/java/jdk1.8.0_05

vim /home/sunnie/Documents/hadoop-1.2.1/conf/core-site.xml

在core-site.xml中配置Name Node的IP和端口,设置fs.default.name的值,改为如下内容

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://Master:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/sunnie/Documents/hadoop-1.2.1/tmp</value>

</property>

</configuration>

接下来修改 hdfs-site.xml

vim /home/sunnie/Documents/hadoop-1.2.1/conf/hdfs-site.xml

改为如下内容

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

下面修改mapred-site.xml

vim /home/sunnie/Documents/hadoop-1.2.1/conf/mapred-site.xml

在mapred-site.xml中配置Job Tracker的IP和端口,设置mapred.job.tracker的值,改为如下内容

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>Master:9001</value>

</property>

</configuration>

下面分别配置masters和slaves

vim /home/sunnie/Documents/hadoop-1.2.1/conf/masters

将文件中localhost去掉,换成

Master

vim /home/sunnie/Documents/hadoop-1.2.1/conf/slaves

将文件中的localhost去掉,换成

Slave1

Slave2

这样,主机Master上的Hadoop就配置完成了,下面要做的是将Master上的hadoop-1.2.1分别拷贝到Slave1和Slave2

首先在主机Slave1和主机Slave2上以用户sunnie的身份登录

在主机Master上执行

scp -r /home/sunnie/Documents/hadoop-1.2.1 sunnie@Slave1:/home/sunnie/Documents

scp -r /home/sunnie/Documents/hadoop-1.2.1 sunnie@Slave2:/home/sunnie/Documents

至此,Hadoop全分布式集群在三台虚拟机上的部署就完成了,下面来测试下~

首先分别在三个主机上以root用户的身份关闭防火墙

chkconfig iptables off

然后在三个主机上都切换回用户sunnie

在Master主机上执行

/home/sunnie/Documents/hadoop-1.2.1/ bin/hadoop namenode -format

/home/sunnie/Documents/hadoop-1.2.1/ bin/start-all.sh

然后在主机Master上执行jps命令,可以看到



然后在Slave1上执行jps命令,可以看到



在Slave2上执行jps, 可以看到



最后在Master上执行

/home/sunnie/Documents/hadoop-1.2.1/ bin/stop-all.sh

可以看到



至此,用三个CentOS6.5虚拟电脑部署Hadoop1.2.1全分布式集群就大功告成了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: