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)名称类 ...
随机推荐
- Android最方便的数据库--LitePal
郭最近看到神分析LitePal相框,我感觉很强烈,尝试了一下,真的好,我不知道,如果你不习惯学习,那么各不相同,我觉得很合适 看完之后,思想,对于我来说,,实体到set颂值,如果数据非常多,那么你可以 ...
- [C++/CLI编程宝典][2]什么是C++/CLI语言
对于什么是C++/CLI,我们首先能够简单的将其名字划分为两部分来理解,第一,C++,我们熟悉的眼下被广泛使用的面向对象的ISO国际标准的高级语言,也称为ISOC++,我们这里以后均称其为ISOC++ ...
- 一 手游开发工具cocos2d-x editor初识
可学习的demo: 7个实战项目 flappybird(飞扬小鸟).popstar(消灭星星).fruitninja(水果忍者).2048(数度消除). moonwarriors(月亮战神).frui ...
- 最牛B的编程套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头于工 ...
- java中HashMap在多线程环境下引起CPU100%的问题解决(转)
最近项目中出现了Tomcat占用CPU100%的情况,原以为是代码中出现死循环,后台使用jstack做了dump,发现是系统中不合理使用HashMap导致出现了死循环(注意不是死锁). 产生这个死循环 ...
- java文字转成拼音
package com.jframe.kit; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4 ...
- 有关信息ACM/ICPC竞争环境GCC/G++叠插件研究记录的扩展
0.起因 有时.DFS总是比BFS受人喜爱--毕竟DFS简单粗暴,更,而有些东西BFS不要启动,DFS它似乎是一个可行的选择-- 但是有一个问题,DFS默认直接写入到系统堆栈.系统堆栈和足够浅,此时O ...
- sql小技巧 group by datetime类型字段,只取其中的日期部分
工作中经常会遇到,要在sql中查询报表,查询结果要求按照日期来罗列, 或按照天, 或按照月,年. 这个时候我们经常会苦恼,datetime是精确到毫秒的,如果单纯的group by datetime就 ...
- ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件
原文:ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件 Login控件它是属于Membership服务的一部分,必须配置Membership提供程 ...
- Nginx安装手冊以及图片server部署
1. 安装gcc yum install gcc 2. 安装pcre,pcre-devel 在zhoulh文件夹下建立source build文件夹 mkdir source bu ...