首页 数据库 mysql教程 为已存在的Hadoop集群配置HDFS Federation

为已存在的Hadoop集群配置HDFS Federation

Jun 07, 2016 pm 02:50 PM
hadoop hdfs 配置 集群

一、实验目的 1. 现有Hadoop集群只有一个NameNode,现在要增加一个NameNode。 2. 两个NameNode构成HDFS Federation。 3. 不重启现有集群,不影响数据访问。 二、实验环境 4台CentOS release 6.4虚拟机,IP地址为 192.168.56.101 master 192.168.56.102 slave

一、实验目的
1. 现有Hadoop集群只有一个NameNode,现在要增加一个NameNode。
2. 两个NameNode构成HDFS Federation。
3. 不重启现有集群,不影响数据访问。

二、实验环境
4台CentOS release 6.4虚拟机,IP地址为
192.168.56.101 master
192.168.56.102 slave1
192.168.56.103 slave2
192.168.56.104 kettle

其中kettle是新增的一台“干净”的机器,已经配置好免密码ssh,将作为新增的NameNode。

软件版本:
hadoop 2.7.2
hbase 1.1.4
hive 2.0.0
spark 1.5.0
zookeeper 3.4.8
kylin 1.5.1

现有配置:
master作为hadoop的NameNode、SecondaryNameNode、ResourceManager,hbase的HMaster
slave1、slave2作为hadoop的DataNode、NodeManager,hbase的HRegionServer
同时master、slave1、slave2作为三台zookeeper服务器

三、配置步骤
1. 编辑master上的hdfs-site.xml文件,修改后的文件内容如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
	<name>dfs.namenode.name.dir</name>
	<value>file:/home/grid/hadoop-2.7.2/hdfs/name</value>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>file:/home/grid/hadoop-2.7.2/hdfs/data</value>
</property>
<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>
<property>
	<name>dfs.webhdfs.enabled</name>
	<value>true</value>
</property>

<!-- 新增属性 -->
<property>
    <name>dfs.nameservices</name>
    <value>ns1,ns2</value>
</property>
<property>
    <name>dfs.namenode.rpc-address.ns1</name>
    <value>master:9000</value>
</property>
<property>
    <name>dfs.namenode.http-address.ns1</name>
    <value>master:50070</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address.ns1</name>
    <value>master:9001</value>
</property>
<property>
    <name>dfs.namenode.rpc-address.ns2</name>
    <value>kettle:9000</value>
</property>
<property>
    <name>dfs.namenode.http-address.ns2</name>
    <value>kettle:50070</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address.ns2</name>
    <value>kettle:9001</value>
</property>
</configuration>
登录后复制
2. 拷贝master上的hdfs-site.xml文件到集群上的其它节点
scp hdfs-site.xml slave1:/home/grid/hadoop-2.7.2/etc/hadoop/
scp hdfs-site.xml slave2:/home/grid/hadoop-2.7.2/etc/hadoop/
登录后复制
3. 将Java目录、Hadoop目录、环境变量文件从master拷贝到kettle
scp -rp /home/grid/hadoop-2.7.2 kettle:/home/grid/
scp -rp /home/grid/jdk1.7.0_75 kettle:/home/grid/
# 用root执行
scp -p /etc/profile.d/* kettle:/etc/profile.d/
登录后复制
4. 启动新的NameNode、SecondaryNameNode
# 在kettle上执行
source /etc/profile
ln -s hadoop-2.7.2 hadoop
$HADOOP_HOME/sbin/hadoop-daemon.sh start namenode
$HADOOP_HOME/sbin/hadoop-daemon.sh start secondarynamenode
登录后复制

执行后启动了NameNode、SecondaryNameNode进程,如图1所示。


图1

5. 刷新DataNode收集新添加的NameNode
# 在集群中任意一台机器上执行均可
$HADOOP_HOME/bin/hdfs dfsadmin -refreshNamenodes slave1:50020
$HADOOP_HOME/bin/hdfs dfsadmin -refreshNamenodes slave2:50020
登录后复制
至此,HDFS Federation配置完成,从web查看两个NameNode的状态分别如图2、图3所示。


图2


图3


四、测试
# 向HDFS上传一个文本文件
hadoop dfs -put /home/grid/hadoop/NOTICE.txt /
# 分别在两台NameNode节点上运行Hadoop自带的例子
# 在master上执行
hadoop jar /home/grid/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /NOTICE.txt /output
# 在kettle上执行
hadoop jar /home/grid/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /NOTICE.txt /output1
登录后复制
用下面的命令查看两个输出结果,分别如图4、图5所示。
hadoop dfs -cat /output/part-r-00000
hadoop dfs -cat /output1/part-r-00000
登录后复制
图4


图5


参考:
http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/Federation.html
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在PyCharm中如何设置Git配置 在PyCharm中如何设置Git配置 Feb 20, 2024 am 09:47 AM

标题:如何在PyCharm中正确配置Git在现代软件开发中,版本控制系统是非常重要的工具,而Git作为其中一种流行的版本控制系统,为开发者提供了强大的功能和灵活的操作。而PyCharm作为一款功能强大的Python集成开发环境,自带了对Git的支持,能够让开发者更加便捷地管理代码版本。本文将介绍如何在PyCharm中正确地配置Git,以便于在开发过程中更好地

Linux系统中GDM的工作原理及配置方法 Linux系统中GDM的工作原理及配置方法 Mar 01, 2024 pm 06:36 PM

标题:Linux系统中GDM的工作原理及配置方法在Linux操作系统中,GDM(GNOMEDisplayManager)是一种常见的显示管理器,用于控制图形用户界面(GUI)登录和用户会话管理。本文将介绍GDM的工作原理和配置方法,以及提供具体的代码示例。一、GDM的工作原理GDM是GNOME桌面环境下的显示管理器,负责启动X服务器并提供登录界面,用户输

PyCharm与PyTorch完美结合:安装配置步骤详解 PyCharm与PyTorch完美结合:安装配置步骤详解 Feb 21, 2024 pm 12:00 PM

PyCharm是一款强大的集成开发环境(IDE),而PyTorch是深度学习领域备受欢迎的开源框架。在机器学习和深度学习领域,使用PyCharm和PyTorch进行开发可以极大地提高开发效率和代码质量。本文将详细介绍如何在PyCharm中安装配置PyTorch,并附上具体的代码示例,帮助读者更好地利用这两者的强大功能。第一步:安装PyCharm和Python

了解Linux Bashrc:功能、配置与使用方法 了解Linux Bashrc:功能、配置与使用方法 Mar 20, 2024 pm 03:30 PM

了解LinuxBashrc:功能、配置与使用方法在Linux系统中,Bashrc(BourneAgainShellruncommands)是一个非常重要的配置文件,其中包含了系统启动时自动运行的各种命令和设置。Bashrc文件通常位于用户的家目录下,是一个隐藏文件,它的作用是为用户自定义设置Bashshell的环境。一、Bashrc的功能设置环境

简单易懂的PyCharm配置Git教程 简单易懂的PyCharm配置Git教程 Feb 20, 2024 am 08:28 AM

PyCharm是一款常用的集成开发环境(IDE),在日常开发中,使用Git管理代码是必不可少的。本文将介绍如何在PyCharm中配置Git,并使用Git进行代码管理,并附带具体代码示例。第一步:安装Git首先,确保在你的计算机上已经安装了Git。如果没有安装,可以前往[Git官网](https://git-scm.com/)下载并安装最新版本的Git

MyBatis Generator配置参数解读及最佳实践 MyBatis Generator配置参数解读及最佳实践 Feb 23, 2024 am 09:51 AM

MyBatisGenerator是MyBatis官方提供的一个代码生成工具,可以帮助开发人员快速生成符合数据库表结构的JavaBean、Mapper接口以及XML映射文件。在使用MyBatisGenerator进行代码生成的过程中,配置参数的设置是至关重要的。本文将从配置参数的角度出发,深入探讨MyBatisGenerator的

win11系统如何配置工作组 win11系统如何配置工作组 Feb 22, 2024 pm 09:50 PM

Win11系统如何配置工作组工作组是一种在局域网中连接多台计算机的方式,它允许计算机之间共享文件、打印机和其他资源。在Win11系统中,配置工作组非常简单,只需按照以下步骤操作即可。步骤1:打开“设置”应用程序首先,点击Win11系统的“开始”按钮,然后在弹出的菜单中选择“设置”应用程序。你也可以使用快捷键“Win+I”打开“设置”。步骤2:选择“系统”在“设置”应用程序中,你会看到多个选项。请点击“系统”选项,进入系统设置页面。步骤3:选择“关于”在“系统”设置页面中,你会看到多个子选项。请点

Flask安装配置教程:轻松搭建PythonWeb应用的利器 Flask安装配置教程:轻松搭建PythonWeb应用的利器 Feb 20, 2024 pm 11:12 PM

Flask安装配置教程:轻松搭建PythonWeb应用的利器,需要具体代码示例引言:随着Python的日益流行,Web开发也成为了Python程序员的必备技能之一。而要进行Python的Web开发,我们需要选择合适的Web框架。在众多的PythonWeb框架中,Flask是一款简洁、易上手且灵活的框架,备受开发者们的青睐。本文将介绍Flask框架的安装、

See all articles