五、搭建Hadoop集群

上面的步骤,确认了单机能够运行Hadoop的伪分布运行,真正的分布式运行无非也就是多几台slave机器而已,配置方面的有一点点差别,配置起来就很easy了。

1、准备三台server

192.168.56.101

192.168.56.102

192.168.56.103

在每台机器的/etc/hosts中都将ip及hostname给映射上:

192.168.56.101  nginx1

192.168.56.102  nginx2

192.168.56.103  nginx3

当中192.168.56.101为前面配置的那台server,用于做为namenode及jobtracker,另外两台用于做slaves,用于运行datanode及tasktracker。

要使某台server成为namenode,必须在要core-site.xml中指定它;要使某个节点成为jobtracker,必须在mapred-site.xml指定它,这个參见第5点中的core-site.xml以及mapred-site.xml的配置。

对Hadoop来说,从hdfs的角度来看有namenode及datanode,namenode仅仅能够有一个,而datanode能够有多个,namenode存放的是datanode中文件的元数据,client通过namenode获取datanode中文件的信息;从jobtracker角度来说看有jobtracker及tasktracker,jobtracker仅仅能够有一个,而tasktracker能够有多外,tasktracker通过jobtracker来调度。

在本例中使用192.168.56.101做为namenode及jobtracker,使用192.168.56.102做为secondarynamenode、datanode以及tasktracker,使用192.168.56.103做为datanode以及tasktracker,详情參见以下的配置。

2、三台server要具有一致的配置信息

1)、JDK的路径必须同样;

2)、操作Hadoop的用户必须同样;

3)、Hadoop的存放路径必须同样;

Slave机器上的hadoop可直接将namenode上面的hadoop拷贝过去,不用做不论什么改动,仅仅要路径放置就能够了;

4)、每台机器~/.ssh文件夹下存放同样的id_rsa及authorized_keys

将namenode的机器上的~/.ssh/id_rsa及authorized_keys复制到每台slave机器上的~/.ssh中,当然slave机器中也必须是安装了ssh的了,然后在每台机器上都通过ssh訪问一下其他的两台机器,确保都是能够不输入password訪问的。

5)、三台机器的/etc/profile中的内容同样;

3、改动$HADOOP_HOME/conf/slaves文件

这个文件存放的是全部datanode的IP或者机器名,每行指定一个。我们这里使用nginx2及nginx3来做为datanode,因此slaves文件的配置例如以下:

nginx2

nginx3

4、改动$HADOOP_HOME/conf/masters文件(此例中可选)

masters文件里放置的是secondarynamenode的机器名,当中默认的内容为“localhost”,可是在生产环境中,肯定不会将namenode和secondarynamenode放置在同一台server上,在此例中我就将secondarynamename设置在第二台server上,那么此时文件里的内容应该例如以下:

#这里仅仅使用一台做为secondarynamenode

nginx2

#nginx3

5、改动core-site.xml、mapred-site.xml及hdfs-site.xml

仅仅须要做简单的改动就能够了,不同点以红色字体标识出。

core-site.xml:

<configuration>

<property>

<!-- 用于设置Hadoop的文件系统,由URI指定,value相应的server就是namenode所在的server及port,secondarynamenode通过在masters这个文件里指定 -->

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

<value>hdfs://</value>

</property>

</configuration>

6、启动验证

6.1查看进程

DataNode都是通过NameNode启动起来的,因而启动的时候仅仅须要在NameNode上运行start-all.sh就能够了,此时我们查看各server中的进程。

Nginx1(NameNode)所在server:

fenglibin@ubuntu1110:/usr/local/hadoop-1.2.1$ jps

2834 NameNode

3011 JobTracker

3108 Jps

Ngnix2:

fenglibin@ubuntu11102:~$ jps

984 DataNode

1075 TaskTracker

919 SecondaryNameNode

1420 Jps

Ngnix3:

fenglibin@ubuntu11103:~$ jps

1374 Jps

1021 TaskTracker

846 DataNode

从上面的进程信息,能够看到nginx1中启动了namenode及jobtracker,,nginx2和nginx3都分别启动了DataNode及TaskTracker,仅仅是nginx2中比nginx3中多启动了一个SecondaryNameNode,这也是我们希望的结果。

通过例如以下命令:

hadoop dfsadmin -report

可得到例如以下输出:

Warning: $HADOOP_HOME is deprecated.

Safe mode is ON

Configured Capacity: 15283421184 (14.23 GB)

Present Capacity: 10592149504 (9.86 GB)

DFS Remaining: 10591629312 (9.86 GB)

DFS Used: 520192 (508 KB)

DFS Used%: 0%

Under replicated blocks: 20

Blocks with corrupt replicas: 0

Missing blocks: 0

-------------------------------------------------

Datanodes available: 2 (2 total, 0 dead)

Name: 192.168.56.102:50010

Decommission Status : Normal

Configured Capacity: 7641710592 (7.12 GB)

DFS Used: 307200 (300 KB)

Non DFS Used: 2733502464 (2.55 GB)

DFS Remaining: 4907900928(4.57 GB)

DFS Used%: 0%

DFS Remaining%: 64.23%

Last contact: Sun Jun 15 15:46:39 CST 2014

Name: 192.168.56.103:50010

Decommission Status : Normal

Configured Capacity: 7641710592 (7.12 GB)

DFS Used: 212992 (208 KB)

Non DFS Used: 1957769216 (1.82 GB)

DFS Remaining: 5683728384(5.29 GB)

DFS Used%: 0%

DFS Remaining%: 74.38%

Last contact: Sun Jun 15 15:46:39 CST 2014

6.2 集群状态监控页面

查看namenode的状态

namenode是布署在192.168.56.101上,仅仅须要输入:

个“500*”这种port:

192.168.56.102:

当中port50090是secondarynamenode的监控port,而50060是tasktracker的监控port,而50010、50075以及50020都是datanode使用的port。

而在192.168.56.103上,却仅仅开了两个port:

分别与namenode以及jobtracker相连着的。

为什么在192.168.56.103上面tasktracker以及datanode的监控呢?

Hadoop入门进阶步步高(五)-搭建Hadoop集群的更多相关文章

  1. VMware 克隆linux后找不到eth0(学习hadoop,所以想快速搭建一个集群)

    发生情况:      由于在学习hadoop,所以想快速搭建一个集群出来.所以直接在windows操作系统上用VMware安装了CentOS操作系统,配置好hadoop开发环境后,采用克隆功能,直接克 ...

  2. RabbitMQ入门教程(十五):普通集群和镜像集群

    原文:RabbitMQ入门教程(十五):普通集群和镜像集群 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...

  3. Hadoop入门进阶步步高(六)-Hadoop1.x与Hadoop2的差别

    六.Hadoop1.x与Hadoop2的差别 1.变更介绍 Hadoop2相比較于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了非常大的提高,Ha ...

  4. Hadoop入门进阶步步高(一)-环境准备

    前言 Hadoop从存储上来说,是相似于冗余磁盘阵列(RAID)的存储方式.将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFS(Hadoop Distuibute Fils System).从 ...

  5. Hadoop入门进阶步步高(三)-配置Hadoop

    三.配置Hadoop 1.设置$HADOOP_HOME/conf/hadoop-env.sh 这个文件里设置的是Hadoop运行时须要的环境变量,在1.2.1版中共同拥有19个环境变量.例如以下:   ...

  6. Docker极简入门:使用Docker-Compose 搭建redis集群

    为了构建一个集群,我们首先要让 redis 启用集群模式 一个简单的配置文件如下redis.conf # redis.conf file port 6379 cluster-enabled yes c ...

  7. Hadoop入门进阶步步高(二)-文件夹介绍

    二.Hadoop文件夹结构 这里重点介绍几个文件夹bin.conf及lib文件夹. 1.$HADOOP_HOME/bin文件夹 文件名 说明 hadoop 用于运行hadoop脚本命令,被hadoop ...

  8. 五 搭建kafka集群

    1 下载    wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz 2 tar  -zxv ...

  9. Hadoop上路-01_Hadoop2.3.0的分布式集群搭建

    一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...

随机推荐

  1. WeText项目的服务端

    WeText项目的服务端 在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 wi ...

  2. hdu4280(最大流)

    传送门:Island Transport 题意:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿. 分析:无向图正反都加弧,权值一样,这题点多, ...

  3. linux centos 卸载jdk

    1.先看看OpenJDK的安装包 $ rpm -qa |grep java tzdata-java-2013b-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.61 ...

  4. PHP_SELF、 SCRIPT_NAME、 REQUEST_URI差别

    $_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在使用方法上是很相似的,他们返回的都是与当前正在使用的页面地址有关 ...

  5. (转)一篇很不错的介绍Eclipse插件Menu及其扩展点的文章

    原文在:http://tech.ddvip.com/2010-04/1271054623150507.html 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包 ...

  6. linux下查看进城(ps)的方法 与 杀死进程(kill)的N种方法

    PS查看进程 inux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必 ...

  7. SharePoint采用BCS开发第一个应用程序(两)

    SharePoint采用BCS开发第一个应用程序(两) 创建外部数据源 在本章中,我们使用AdventureWorksLT2008 SQL Server数据库作为外部数据源.下图显示了表SalesLT ...

  8. mmc生产任务分配问题

    mmc生产任务分配问题,本题目简单.

  9. Deploy 11.2.0.3 RAC+DG on Windows 2008 R2 Step by Step

    环境规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1.5G 操作系 ...

  10. swift 学习资源 大集合

    今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...