我们在配置集群时,经常将namenode与secondarynamenode存放在一个节点上,其实这是非常危险的,
如果此节点崩溃的话,则整个集群不可恢复。下面介绍一下将namenode与secondarynamenode分离的
方法。当然还存在好多不足和待改进的地方,欢迎各位大神指点和吐槽。
非常说明:我原本以为masters配置文件中的内容(主机名)是指的namenode的主机名称,但它实际上
指的是secondarynamenode,slavers配置文件指的是运行了 datanode 和 tasktracker(一般是同一节点)
的所有节点。并且这两个文件只有在运行namenode和jobtracker(一般都在namenode节点上 namenode由
core-site.xml fs.default.name指定,jobtracker由mapred-site.xml mapred.job.tracker指定)
的节点才被用到,所以其它节点可以不进行配置。
所以千万不要忘记修改namenode节点中masters文件中的内容
言归正传(本实验结合本博中的集群搭建后的环境进行的)
1 将namenode所在的节点进行克隆,即新建一个节点,包括conf目录下的文件配置
所有文件、目录结构、环境变量等都要相同。可参考给集群添加一个新建节点一节,相关配置如:
主机名 secondary
IP 192.168.5.16
hosts文件 :
192.168.5.13 namenode
192.168.5.16 secondary
SSH免密码登录
关于hosts文件和ssh,我认为secondarynamenode只与namenode通信,所以只需跟namenode节点建立
无密码连接即可,并且hosts文件的内容可以只写namenode节点和自身的信息,注意namenode节点中的
hosts文件也需添加secondarynamenode节点的信息才可。
2 文件配置
(1)在namenode节点中 修改hdfs-site.xml文件为:
<property>
<name>dfs.secondary.http.address</name>
<value>192.168.5.16:50090</value>
<description>NameNode get the newest fsimage via dfs.secondary.http.address </description>
</property>
在masters文件中修改为secondary
(2)在secondarynamenodenamenode节点中 修改hdfs-site.xml文件为:
<property>
<name>dfs.http.address</name>
<value>192.168.5.13:50070</value>
<description>Secondary get fsimage and edits via dfs.http.address</description>
</property>
修改core-site.xml文件
<property>
<name>fs.checkpoint.period</name>
<value>3600</value>
<description>The number of seconds between two periodic checkpoints.</description>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/home/zhang/hadoop0202/secondaryname</value>
</property>
其中fs.checkpoint.period和fs.checkpoint.size是SecondaryNameNode节点开始备份满足的条件,当
满足两种情况中的任意一个,SecondaryNameNode节点都会开始备份,第一个为设定的间隔时间到
了(默认为一小时)fs.checkpoint.period设置的时间(以秒为单位),第二个为操作日志文件的大小达到了fs.checkpoint.size中设置的阈值。
3 重启 hadoop或者在secondary上直接进行
hadoop-daemon.sh start secondarynamenode 命令启动secondaryNamenode
重启后我们可以看到
在namenode中没有了SecondaryNameNode的Java进程(很抱歉,忘记分离之前截图了,分离之前在namenode节点上
确实有SecondaryNameNode的Java进程)
在secondary节点上出现SecondaryNameNode的Java进程
验证:在secondary节点上的secondaryname目录中是否有了有了镜像文件(由于在设置core-siet.xml文件
中的fs.checkpoint.period参数是3600,代表一小时,我们为了实验效果要进行参数修改,
修改效果可以参照本博中《怎样控制namenode检查点的发生频率》一文)
相关推荐
标题“win32win64hadoop2.7.x.hadoop.dll.bin”暗示了这是一个与Hadoop 2.7.x版本相关的二进制文件,适用于32位和64位的Windows操作系统。描述中提到,这些文件是用于在Windows环境下部署Hadoop时必需的组件,并且在...
Hadoop 是一个基于分布式存储的大数据处理框架,本文档将详细介绍 Hadoop 3.x 的配置和底层原理,从零搭建集群以及解决遇到的问题,通过图形化的方式更好地理解 Hadoop 的作用。 一、HDFS 组成 HDFS(Hadoop ...
1. 确保下载的`hadoop.dll`和`winutils.exe`与你的Hadoop版本兼容。 2. 配置环境变量,包括`HADOOP_HOME`和`PATH`,以便系统能找到这些文件。 3. 对于`winutils.exe`,确保设置了正确的HDFS根目录 (`hdfs dfs -...
文档中提到,与Hadoop 2.x相比,3.x版本在集群安装和配置方面基本变化不大,但具体到新版本的特性以及对默认端口的改变上,还是存在一些需要特别注意的地方。 #### 1. Hadoop 3.x集群安装知识 在集群安装知识部分,...
Hadoop 3.x系列是Hadoop的主要版本之一,相比之前的Hadoop 2.x,它引入了诸多改进和优化,提升了整体的存储性能和计算效率。在本文中,我们将深入探讨Hadoop 3.x的关键特性、优化之处以及如何获取和安装这个版本。 ...
在探讨Hadoop1.x与Hadoop2.x配置的异同之前,我们首先简要回顾一下GridGain In-Memory HDFS的特性,这是基于行业首个高性能双模式内存文件系统,完全兼容HDFS。GridGain FileSystem(GGFS)作为Hadoop HDFS的即插即...
<name>hadoop.tmp.dir <value>/app/hadoop/tmp ``` HDFS配置hdfs-site.xml则涉及NameNode和DataNode的相关参数,如副本数量和数据存储路径: ```xml <name>dfs.replication <value>3 <name>dfs....
标题 "hadoop2.6 hadoop.dll+winutils.exe" 提到的是Hadoop 2.6版本中的两个关键组件:`hadoop.dll` 和 `winutils.exe`,这两个组件对于在Windows环境中配置和运行Hadoop至关重要。Hadoop原本是为Linux环境设计的,...
【标题】"hadoop3.x带snappy(可用于windows本地开发)"所涉及的知识点主要集中在Hadoop 3.0版本以及Snappy压缩算法在Windows环境下的应用。Hadoop是一个开源的大数据处理框架,由Apache软件基金会开发,它使得在...
1. **HDFS架构**:HDFS基于主从结构,包括一个NameNode(主节点)和多个DataNode(从节点)。NameNode负责元数据管理,如文件和块的位置信息,而DataNodes存储实际的数据块。 2. **数据冗余**:HDFS通过数据复制来...
<name>hadoop.tmp.dir <value>/app/hadoop/tmp ``` 其中,`master`是主节点的主机名,`9000`是NameNode的端口。 2. 修改`etc/hadoop/hdfs-site.xml`配置文件,设定副本数量和其他HDFS参数: ```xml <name>dfs....
我的报错:Could not locate Hadoop executable: E:\big_data\hadoop-3.3.0\bin\winutils.ex hadoop的winutils.exe及hadoop.dll文件,可以用于hadoop3.3. 下载好直接将两个文件复制到我们hadoop的bin目录下就行了
这个名为"Hadoop3.1.3.rar"的压缩包文件包含了Hadoop 3.1.3版本的所有组件和相关文件,使得用户可以下载并进行安装以搭建自己的Hadoop集群。Hadoop 3.1.3是Hadoop发展的一个重要里程碑,它在3.x系列中引入了多项改进...
Hadoop 2.x 版本相比早期版本有了显著的改进和增强,特别是在性能、稳定性和安全性方面。 - **Hadoop Common**:这部分为整个Hadoop 提供基础支持和服务,包括一些核心文件系统和I/O库等。 - **Hadoop Distributed ...
3. **YARN(Yet Another Resource Negotiator)**:在Hadoop 2.x版本中引入,YARN作为资源管理系统,负责集群资源的调度和管理,将原本在MapReduce中的资源管理和任务调度职责分离,提高了系统的效率和灵活性。...
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider <name>dfs.ha.fencing.methods <value>sshfence <name>dfs.ha.fencing.ssh.private-key-files <value>/root/....
在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说。本文将详细介绍这两个文件以及它们在Hadoop 2.6.0版本中的作用。 `hadoop.dll`是Hadoop在Windows环境下运行所必需的一...
Hadoop3版本中添加了哪些新功能,Hadoop3中兼容的Hadoop 2程序,Hadoop 2和Hadoop 3有什么区别? 二、Hadoop 2.x与Hadoop 3.x比较 本节将讲述Hadoop 2.x与Hadoop 3.x之间的22个差异。 现在让我们逐一讨论 2.1...
1. **下载与版本匹配的winutils.exe和hadoop.dll**: 首先,你需要找到适用于Hadoop 2.7.x版本的`winutils.exe`和`hadoop.dll`,通常可以从Apache Hadoop的镜像站点或者GitHub上的第三方项目中获取。 2. **配置...
Hadoop 3.1.4是该框架的一个稳定版本,提供了许多性能优化和新特性。这个压缩文件"hadoop-3.1.4.tar.zip"包含了Hadoop的源代码、文档、配置文件以及相关的依赖库,使得用户可以方便地在本地环境中安装和运行Hadoop。...