Hadoop入门进阶步步高(五)-搭建Hadoop集群
五、搭建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上,仅仅须要输入:
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集群的更多相关文章
- VMware 克隆linux后找不到eth0(学习hadoop,所以想快速搭建一个集群)
发生情况: 由于在学习hadoop,所以想快速搭建一个集群出来.所以直接在windows操作系统上用VMware安装了CentOS操作系统,配置好hadoop开发环境后,采用克隆功能,直接克 ...
- RabbitMQ入门教程(十五):普通集群和镜像集群
原文:RabbitMQ入门教程(十五):普通集群和镜像集群 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...
- Hadoop入门进阶步步高(六)-Hadoop1.x与Hadoop2的差别
六.Hadoop1.x与Hadoop2的差别 1.变更介绍 Hadoop2相比較于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了非常大的提高,Ha ...
- Hadoop入门进阶步步高(一)-环境准备
前言 Hadoop从存储上来说,是相似于冗余磁盘阵列(RAID)的存储方式.将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFS(Hadoop Distuibute Fils System).从 ...
- Hadoop入门进阶步步高(三)-配置Hadoop
三.配置Hadoop 1.设置$HADOOP_HOME/conf/hadoop-env.sh 这个文件里设置的是Hadoop运行时须要的环境变量,在1.2.1版中共同拥有19个环境变量.例如以下: ...
- Docker极简入门:使用Docker-Compose 搭建redis集群
为了构建一个集群,我们首先要让 redis 启用集群模式 一个简单的配置文件如下redis.conf # redis.conf file port 6379 cluster-enabled yes c ...
- Hadoop入门进阶步步高(二)-文件夹介绍
二.Hadoop文件夹结构 这里重点介绍几个文件夹bin.conf及lib文件夹. 1.$HADOOP_HOME/bin文件夹 文件名 说明 hadoop 用于运行hadoop脚本命令,被hadoop ...
- 五 搭建kafka集群
1 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz 2 tar -zxv ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
随机推荐
- Xshell怎样登陆本地虚拟机
Xshell怎样登陆本地虚拟机 本经验介绍了怎样使用Xshell登陆本地虚拟机,这里以centos为例.其实其它远程登陆,原理也是一样的. 工具/原料 VMware虚拟机 Xshell远程登陆工具 ...
- Juniper srx防火墙NAT配置
一.基础操作说明: 1. 设备恢复出厂化 root# load factory-default root# set system root-authentication plain-text-pas ...
- Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案
原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...
- Laravel 中国 - 巨匠级PHP开发框架 Laravel 中国社区
http://m.baidu.com/from=844b/bd_page_type=1/ssid=0/uid=3151E6C0905477A13653132D762BB6FB/pu=sz%401320 ...
- Android Monkey自己主动化測试
前言 假设你做Android开发,还没有使用过Monkey进行測试,那么今天看到这篇文章,希望能解决你Android測试中的一些问题.起码能帮你省点測试的时间而且发现很多其它的问题. Monkey简单 ...
- 安装 MYSQL exec: g++: not found 报错
解决办法: yum install -y gcc-c++
- linux yum命令
1 安装yum install 全部安装yum install package1 安装指定的安装包package1yum groupinsall group1 安装程序组group1 2 更新和升级y ...
- Problem and Solution Code Snippets
(积累知识,遇到发展,本文仅用于备忘录,不时它需要召回准备) Problem: 依据String的大小来调整Label的frame.在view中又一次更新views的layout并显示. Soluti ...
- XSS漏洞的分类
XSS漏洞依照攻击利用手法的不同,有下面三种类型: 类型A,本地利用漏洞,这样的漏洞存在于页面中client脚本自身.其攻击步骤例如以下所看到的: Alice给Bob发送一个恶意构造了Web的URL. ...
- Android应用开发-小巫CSDN博客clientJsoup篇
Android应用开发-小巫CSDN博客clientJsoup篇 距上一篇博客已经过去了两个星期,小巫也认为很抱歉,由于在忙着做另外一个项目,差点儿抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本 ...