问题标签 [namenode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - namenode从哪里获取datanode的信息
在 HDFS 上保存文件时,它会拆分文件并相应地存储并将信息存储在编辑日志中,一切都很好。
我的问题是:当我向namenode请求读取操作时,它将从哪里查看datanode的详细信息?
来自 fsimage 还是编辑日志?
如果是从 fsimage 看,每隔一小时会生成一个新的 fsimage。
如果我在那个时间间隔之前请求它,会发生什么?
hadoop - Hadoop:辅助 NameNode 权限被拒绝
我正在尝试以伪分布式模式运行 Hadoop,以了解系统的工作方式。为了安装它,我从站点下载了 Hadoop-3.0.0,解压了它。我已经完成了如下配置(为简洁起见,省略了配置标签):
核心站点.xml
hdsf-site.xml
mapred-site.xml
纱线站点.xml
这样做之后,我已经格式化了我的 hdfs 使用
我还使用以下设置了无密码 ssh:
(我还使用配置文件将 id_rsa2.pub 添加为 localhost 的默认值,因为我已经将 id_rsa.pub 用于其他用途,并且不想混合搭配以防我破坏了某些东西)
我可以通过 ssh 进入 localhost。一切看起来都很好。
然后我运行 start-dfs.sh,我看到了这个错误:
如果我运行 jps(在启动 yarn 和 mapreduce 历史服务器之后),我有以下内容:
值得注意的是,SecondaryNameNode 丢失了,我的假设是由于上述错误。
然后我可以尝试使用 hadoop 的 fs 命令,我可以创建一个文件夹并进行查找。但是,如果我尝试复制任何数据,我会收到 NameNode 处于安全模式的通知。如果我使用以下方法关闭保存模式:
它立即重新打开。通过转到 localhost 上的 namenode 端口,我看到以下消息:
不过,我有很多资源。单个数据节点使用了不到 8% 的分配空间,名称节点几乎有 100GB 的空间。datanode 和 namenode 都报告为健康。因此,我认为问题在于缺少辅助名称节点。考虑到这一点,是否有人知道可能导致 SecondaryNameNode 与 PrimaryNameNode 具有不同权限问题的原因?它似乎试图将 sNN 放在本地机器上的某个地方 - 但是当我签入时/tmp/hadoop*
,所有文件权限似乎都是正常的。
谢谢你的帮助。
java - 一旦主 NN 发生故障,自动从 Java 应用程序连接到 HDFS 辅助 NN
我有一个简单的 java 客户端,可以将文件保存到 HDFS - 配置有 1 个名称节点。为此,我使用 hadoop 配置,指定默认文件系统,如:
但是,将来,我需要连接到一个配置有 1 个活动名称节点和 1 个备用名称节点的 hdfs,如果活动名称节点出现故障,则自动使用备用名称节点。
有人对如何实现这一点有任何建议吗?任何链接/示例都将不胜感激,因为我对任何与 Hadoop 平台相关的东西还是新手。
谢谢
hadoop - HDFS 找不到有效的图像文件
我们有一台旧的 hadoop 集群机器 hadoop - 2.6 版
集群中的所有机器都是redhat版本 - 7.3
我们在最后一台主机上启动备用名称节点时遇到问题
从日志(在 /var/log/hadoop/hdf 下),我们可以看到错误 -找不到有效的图像文件
我不确定我的解决方案,但这是否意味着我们需要删除/hadoop/hdfs/journal/hdfsha/current下的文件( edits_inprogress_XXXXX),然后重新启动备用名称节点服务?
我也尝试使用hadoop namenode -format
但它的回报如下:
所有输出:
hadoop - 恢复/恢复 fsimage 文件
我们有一个集群(*ambari 集群有 3 台主机,3 台工作机器)
name-node 设置在master01 和 master03 Linux redhat 机器版本 7.3
我们注意到集群重启后(机器重启),我们无法在两台机器上启动名称节点服务(master01 & master03)
所以我们开始调查这个问题......
令人惊讶的是,我们看到 master01 或 master03 机器上没有任何 fsimage 文件!
而文件应该在文件夹下 - /data/var/hadoop/hdfs/namenode/current/文件夹
所以在这个阶段我们被困在没有工作集群的情况下
我的问题是
我们如何恢复/恢复文件(如果它们不存在于我们的机器上)
为了恢复集群,我们需要做的其他选择是什么?
大问题 - 这些文件怎么会被删除?,
从 HDFS 用户运行的任何已知推荐可以删除这些文件?或冒fsimage文件的风险?
最后一个非常重要的问题 - 我们如何才能第二次避免这种情况???
背景 - 什么是 fsimage 文件?
fsimage – fsimage 文件包含文件系统在某个时间点的完整状态。每个文件系统修改都被分配一个唯一的、单调递增的事务 ID。fsimage 文件表示在对特定事务 ID 进行所有修改之后的文件系统状态。
来自其他工作集群的 fsimage 文件示例
hadoop - 在 Hadoop 单集群节点中格式化名称节点时出错
所有步骤均已成功运行,但在尝试运行命令hdfs namenode -format
时,我收到一条消息
hadoop - 测试hadoop的最佳方法是什么?
我已经完成了 hadoop 集群设置,其中包含 3 个用于 QJM 的日志节点、4 个数据节点、2 个名称节点、3 个 Zookeeper,但我需要确认它们之间的连接是否成功,所以我正在寻找一个可以执行以下任务的太
1)应该检查哪个namenode当前处于活动状态
2)两个namenode是否都成功地相互通信
3) 应该检查所有的日志节点是否都通信成功
4) 应该检查所有的zookeeper是否相互通信成功
5)当前哪个zookeeper扮演主人角色
是否有任何工具或任何命令可用于检查上述任务?
谁能帮我解决这个问题?
hadoop - 每次我重新启动机器时,namenode 都会进入安全模式
我在 ubuntu 上有 Hadoop 1.x
一切正常:我能够在 HDFS 中上传输入文件。但是当我重新启动笔记本电脑时,所有 HDFS 块都已损坏,NameNode 以安全模式启动
所以我必须要
1) 离开安全模式
2)删除所有损坏的块
hdfs fsck - 删除
3)重新上传输入文件
然后它工作正常,直到下次重新启动。
有人可以帮我解决这个问题。谢谢
hadoop - 两台机器可以用于hadoop集群吗?
我想用一台机器作为namenode,另一台机器作为datanode。配置完成后,我可以使用“jps”命令找到datanode。但是在这两台机器上使用“hdfs dfsadmin -report”时我找不到数据节点。那么有什么问题呢?两台机器不能用于hadoop集群,至少3台机器?
hadoop - 主节点的“start-all.sh”和“start-dfs.sh”不启动从节点服务?
我已经用我的从节点的主机名更新了 Hadoop 主节点上的 /conf/slaves 文件,但是我无法从主节点启动从节点。我必须单独启动从属服务器,然后我的 5 节点集群启动并运行。如何使用来自主节点的单个命令启动整个集群?
此外,SecondaryNameNode 正在所有从属服务器上运行。那是问题吗?如果是这样,我怎样才能将它们从奴隶中移除?我认为集群中应该只有一个 SecondaryNameNode 和一个 NameNode,对吗?
谢谢!