[英]Hadoop 2.2 Add new Datanode to an existing hadoop installation
我首先在我的机器(称为Abhishek-PC)上安装了hadoop 2.2,并且一切正常。 我能够成功运行整个系统。 (名称节点和数据节点)。
现在,我创建了1个VM hdclient1,我想将此VM添加为数据节点。
这是我遵循的步骤
我成功设置了SSH,可以不使用密码ssh进入hdclient1,也可以不使用密码从hdclient1登录到主机。
我在此VM上设置了hadoop 2.2,并根据网络上的许多教程修改了配置文件。 这是我的配置文件
名称节点配置
https://drive.google.com/file/d/0B0dV2NMSGYPXdEM1WmRqVG5uYlU/edit?usp=sharing
数据节点配置
https://drive.google.com/file/d/0B0dV2NMSGYPXRnh3YUo1X2Frams/edit?usp=sharing
https://drive.google.com/file/d/0B0dV2NMSGYPXOEJ3UV9SV1d5bjQ/edit?usp=sharing
如您所见,两台计算机都出现在我的集群中(主主节点和数据节点)。
尽管由于某些奇怪的原因,两者都被称为“ localhost”。
这是名称节点中的日志
https://drive.google.com/file/d/0B0dV2NMSGYPXM0dZTWVRUWlGaDg/edit?usp=sharing
这是来自数据节点的日志
https://drive.google.com/file/d/0B0dV2NMSGYPXNV9wVmZEcUtKVXc/edit?usp=sharing
http://Abhishek-PC:50070
但是在这里,活动节点中的UI仅显示1个活动节点,而没有提及hdclient1。
https://drive.google.com/file/d/0B0dV2NMSGYPXZmMwM09YQlI4RzQ/edit?usp=sharing
我可以在hdfs中成功创建一个目录hadoop fs -mkdir /small
从datanode中,我可以看到此目录是通过使用以下命令hadoop fs -ls /
现在,当我尝试向HDFS添加文件时,我说
hadoop fs -copyFromLocal〜/下载/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:无法为您的平台加载本机Hadoop库。使用适用的内置Java类14/01/04 20:07:41 WARN hdfs.DFSClient:DataStreamer异常org.apache.hadoop.ipc.RemoteException(java.io.IOException):文件/small/war_and_peace.txt。 COPYING只能复制到0个节点,而不能复制到minReplication(= 1)。 有1个数据节点在运行,并且此操作中不排除任何节点。 在org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1384)在org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2477)在org.apache .hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:555)
所以我的问题是我在这里做错了什么? 尝试将文件复制到HDFS时为什么会出现此异常?
我们有一个3节点集群(所有物理机箱),已经运行了好几个月。 这文章让我最设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.