尝试了简单的安装hadoop2后,我们再来尝试一下hdfs的一项新功能:FN。这项技术可以解决namenode容量不足的问题。它采用多个namenode来共享datanode的方式,每个namenode属于不同的namespace。

下面是我们的安装信息

Hadoop 版本:2.2.0

OS 版本: Centos6.4

Jdk 版本: jdk1.6.0_32

机器配置

机器名

Ip地址

功能

Hadoop1

192.168.124.135

NameNode, DataNode,

ResourceManager, NodeManager

Hadoop2

192.168.124.136

NameNode

DataNode, NodeManager

Hadoop3

192.168.124.137

DataNode, NodeManager

配置

vi etc/hadoop/hadoop-env.sh 修改jdk位置
export JAVA_HOME=/home/hadoop/jdk1.6.0_32

vi etc/hadoop/mapred-env.sh修改jdk位置

export JAVA_HOME=/home/hadoop/jdk1.6.0_32

vi etc/hadoop/yarn-env.sh修改jdk位置

export JAVA_HOME=/home/hadoop/jdk1.6.0_32

vi etc/hadoop/core-site.xml

<configuration>

<property>

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

<value>/home/hadoop/repo2/tmp</value>

<description>A base for other temporary
directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop1:9000</value>

</property>

</configuration>

vi etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/repo2/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/repo2/data</value>

</property>

<property>

<name>dfs.nameservices</name>

<value>ns1,ns2</value>

</property>

<property>

<name>dfs.namenode.rpc-address.ns1</name>

<value>hadoop1:9000</value>

</property>

<property>

<name>dfs.namenode.http-address.ns1</name>

<value>hadoop1:50070</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address.ns1</name>

<value>hadoop1:50090</value>

</property>

<property>

<name>dfs.namenode.rpc-address.ns2</name>

<value>hadoop2:9000</value>

</property>

<property>

<name>dfs.namenode.http-address.ns2</name>

<value>hadoop2:50070</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address.ns2</name>

<value>hadoop2:50090</value>

</property>

</configuration>

vi etc/hadoop/yarn-site.xml

<configuration>

<property>

<description>the valid service name</description>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<description>The hostname of the RM.</description>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop1</value>

</property>

</configuration>

vi etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

vi etc/hadoop/slaves

hadoop1

hadoop2

hadoop3

格式化namenode

在hadoop1和hadoop2上运行:bin/hdfs namenode -format -clusterid mycluster

启动hadoop集群

cd /home/hadoop/hadoop-2.2.0

sbin/start-all.sh

从图上可以看出,先启动namenode,再启动datanode, 再启动secondarynamenode, 再启动resourcemanger, 最后启动nodemanager。

使用jps查看启动的进程

在hadoop1上运行jps

在hadoop2上运行jps

在hadoop3上运行jps

从图上可以看出hadoop2和hadoop1上的namenode都处于active状态,他们两个同时在线工作。

通过Hadoop的web界面可以看到,hadoop1和hadoop2都处于active状态,他们当前都是可以工作的,只是hadoop1工作在命名ns1,hadoop2工作在ns2上

在浏览器里输入http://hadoop1:50070

在浏览器里输入http://hadoop2:50070

通过命令行看这两个namenode数据

bin/hdfs dfs -mkdir hdfs://hadoop1:9000/user/hadoop/input

bin/hdfs dfs -copyFromLocal  etc/hadoop/*  hdfs://hadoop1:9000/user/hadoop/input

bin/hdfs dfs -ls hdfs://hadoop1:9000/user/hadoop/input

bin/hdfs dfs -ls hdfs://hadoop2:9000/user/hadoop/input

从上面可以看出对hadoop1上的namenode操作,不会影响到hadoop2上的namenode,因此采用federated namespace可以存储两倍或者更多的metadata信息。当发现namespace空间成瓶颈时,可以再添加一台来扩展namespace空间。目前有一个小的问题,当添加一个namespace节点时,需要重启整个集群。通常工作中hadoop集群是不能重启的,这有可能将是一个问题。我认为解决这个问题不存在技术上的问题,可能在后面的版本中解决这个问题。

Hadoop2的FN安装(federated namespace)的更多相关文章

  1. Linux Hadoop2.7.3 安装(单机模式) 一

    Linux Hadoop2.7.3 安装(单机模式) 一 Linux Hadoop2.7.3 安装(单机模式) 二 java环境安装 http://www.cnblogs.com/zeze/p/590 ...

  2. Apache Hadoop2.x 边安装边入门

    完整PDF版本:<Apache Hadoop2.x边安装边入门> 目录 第一部分:Linux环境安装 第一步.配置Vmware NAT网络 一. Vmware网络模式介绍 二. NAT模式 ...

  3. Linux Hadoop2.7.3 安装(单机模式) 二

    Linux Hadoop2.7.3 安装(单机模式) 一 Linux Hadoop2.7.3 安装(单机模式) 二 YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的Jo ...

  4. Hadoop2.6.0安装 — 集群

    文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6034187.html 这里写点 Hadoop2.6.0集群的安装和简单配置,一方面是为自 ...

  5. Hadoop第3周练习--Hadoop2.X编译安装和实验

    作业题目 位系统下进行本地编译的安装方式 选2 (1) 能否给web监控界面加上安全机制,怎样实现?抓图过程 (2)模拟namenode崩溃,例如将name目录的内容全部删除,然后通过secondar ...

  6. hadoop2.7.1安装

    Hadoop2.7.1安装与配置 http://www.oschina.net/question/117352_247251 http://www.cnblogs.com/wayne1017/arch ...

  7. Hadoop-2.4.0安装和wordcount执行验证

    Hadoop-2.4.0安装和wordcount执行验证 下面描写叙述了64位centos6.5机器下,安装32位hadoop-2.4.0,并通过执行 系统自带的WordCount样例来验证服务正确性 ...

  8. hadoop2.5.2安装部署

    0x00 说明 此处已经省略基本配置步骤参考Hadoop1.0.3环境搭建流程,省略主要步骤有: 建立一般用户 关闭防火墙和SELinux 网络配置 0x01 配置master免密钥登录slave 生 ...

  9. Hadoop2.2.0安装过程记录

    1    安装环境1.1    客户端1.2    服务端1.3    安装准备    2    操作系统安装2.1.1    BIOS打开虚拟化支持2.1.2    关闭防火墙2.1.3    安装 ...

随机推荐

  1. EventBus的粘性事件

    下午赶去公司解决了电台业务首次语音搜台后(用到服务,但只出一个独立的Activity,主界面并没有打开)不能听歌识曲的问题. 排查到最后,去识别的消息确实是发出去了,但是却没有收到,没有收到消息当然不 ...

  2. 算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)

    目录 1 问题描述 2 解决方案 2.1 递归法 2.2 递推法   1 问题描述 问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰 ...

  3. 遍历JavaScript某个对象所有的属性名称和值

    /* * 用来遍历指定对象所有的属性名称和值 * obj 需要遍历的对象 */ function allPrpos(obj) { // 用来保存所有的属性名称和值 var props = " ...

  4. ant font 本地化

    要解决的问题1.antd默认iconfont指向的是阿里在公网CDN上部署的url 2.项目需要在本地进行部署,使用的是本地文件的访问方式,希望能内网/离线使用 在ant-design-pro中的配置 ...

  5. 刻录车载CD音乐光盘的历程

    1.买盘 车载CD播放器不支持读可重复擦写的光盘,所以买了sony的DVD+R 4.7G(它是用来存储数据和视频的),买错了,刻了车载CD播放器也不能播放(苦笑脸#).之后又买CD+R. 2.下载歌曲 ...

  6. Python vs Ruby: 谁是最好的 web 开发语言?

    Python 和 Ruby 都是目前用来开发 websites.web-based apps 和 web services 的流行编程语言之一. 这两种语言在许多方面有相似之处.它们都是高级的面向对象 ...

  7. Linux top命令的图解使用

    Linux下的top命令的图解使用     linux下top命令参数解释     TOP命令详解

  8. nodejs 中使用shell脚本

    虽然nodejs的require('child_process').execSync可以使用shell,但其实问题特别多.尤其是符号和语法冲突,可读性也很差,只能完成一些小规模的shell使用. co ...

  9. Atitit.html解析器的选型 jsoup nsoup ,java c# .net 版本

    Atitit.html解析器的选型 jsoup nsoup ,java c# .net 版本 1. 框架选型的要求1 1.1. 文档多1 1.2. 跨平台1 2. html解析器特性:1 2.1. j ...

  10. makefile之findstring函数

    #$(findstring <find>,<in> ) #功能:在字串<in>中查找<find>字串. #返回:如果找到,那么返回<find> ...