gpt4 book ai didi

Hadoop 2.2 添加新的 Datanode 到现有的 hadoop 安装

转载 作者:可可西里 更新时间:2023-11-01 16:16:07 26 4
gpt4 key购买 nike

我首先在我的机器(称为 Abhishek-PC)上安装了 hadoop 2.2,一切正常。我能够成功运行整个系统。 (名称节点和数据节点)。

现在我创建了 1 个 VM hdclient1,我想将此 VM 添加为数据节点。

这是我遵循的步骤

  1. 我成功设置了 SSH,我可以在没有密码的情况下通过 ssh 进入 hdclient1,并且我可以在没有密码的情况下从 hdclient1 登录到我的主机。

  2. 我在此虚拟机上安装了 hadoop 2.2,并根据网络上的许多教程修改了配置文件。这是我的配置文件

名称节点配置

https://drive.google.com/file/d/0B0dV2NMSGYPXdEM1WmRqVG5uYlU/edit?usp=sharing

数据节点配置

https://drive.google.com/file/d/0B0dV2NMSGYPXRnh3YUo1X2Frams/edit?usp=sharing

  1. 现在,当我在我的第一台机器上启动 start-dfs.sh 时,我可以看到 DataNode 在 hdclient1 上成功启动。这是我的 hadoop 控制台的屏幕截图。

https://drive.google.com/file/d/0B0dV2NMSGYPXOEJ3UV9SV1d5bjQ/edit?usp=sharing

如您所见,两台机器都出现在我的集群中(主节点和数据节点)。

尽管出于某种奇怪的原因两者都被称为“localhost”。

  1. 我可以看到日志是在 hdclient1 上创建的,在这些日志中没有异常。

这是名称节点的日志

https://drive.google.com/file/d/0B0dV2NMSGYPXM0dZTWVRUWlGaDg/edit?usp=sharing

这里是数据节点的日志

https://drive.google.com/file/d/0B0dV2NMSGYPXNV9wVmZEcUtKVXc/edit?usp=sharing

  1. 我可以成功登录到 namenode UI http://Abhishek-PC:50070

但是这里事件节点中的 UI 显示只有 1 个事件节点并且没有提及 hdclient1。

https://drive.google.com/file/d/0B0dV2NMSGYPXZmMwM09YQlI4RzQ/edit?usp=sharing

  1. 我可以在hdfs中成功创建一个目录hadoop fs -mkdir/small

  2. 从数据节点我可以看到这个目录是使用这个命令创建的 hadoop fs -ls/

  3. 现在,当我尝试将文件添加到我的 HDFS 时,我说

hadoop fs -copyFromLocal ~/Downloads/book/war_and_peace.txt/small

我收到一条错误消息

abhishek@Abhishek-PC:~$ hadoop fs -copyFromLocal ~/Downloads/book/war_and_peace.txt /small 14/01/04 20:07:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 14/01/04 20:07:41 WARN hdfs.DFSClient: DataStreamer Exception org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /small/war_and_peace.txt.COPYING could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and no node(s) are excluded in this operation. at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1384) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2477) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:555)

所以我的问题是我在这里做错了什么?当我尝试将文件复制到 HDFS 时,为什么会出现此异常?

最佳答案

我们有一个 3 节点集群(所有物理盒子)已经运行了几个月。 This这篇文章对我的设置帮助最大。

关于Hadoop 2.2 添加新的 Datanode 到现有的 hadoop 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20850285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com