我使用本教程设置并配置了一个多节点Hadoop集群.
当我输入start-all.sh命令时,它会显示正确初始化的所有进程,如下所示:
starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-namenode-jawwadtest1.out
jawwadtest1: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-datanode-jawwadtest1.out
jawwadtest2: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-datanode-jawwadtest2.out
jawwadtest1: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-secondarynamenode-jawwadtest1.out
starting jobtracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-jobtracker-jawwadtest1.out
jawwadtest1: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-tasktracker-jawwadtest1.out
jawwadtest2: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-root-tasktracker-jawwadtest2.out
Run Code Online (Sandbox Code Playgroud)
但是,当我输入jps命令时,我得到以下输出:
31057 NameNode
4001 RunJar
6182 RunJar
31328 SecondaryNameNode
31411 JobTracker
32119 Jps
31560 TaskTracker
Run Code Online (Sandbox Code Playgroud)
如您所见,没有运行datanode进程.我尝试配置单节点群集但遇到了同样的问题.有人会知道这里可能出现什么问题吗?是否有任何配置文件未在教程中提及或我可能已查看过?我是Hadoop的新手,有点迷失,任何帮助都会非常感激.
编辑:hadoop-root-datanode-jawwadtest1.log:
STARTUP_MSG: args = []
STARTUP_MSG: version = 1.0.3
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/$
************************************************************/
2012-08-09 23:07:30,717 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loa$
2012-08-09 …Run Code Online (Sandbox Code Playgroud) 尝试写入HDFS作为我的多线程应用程序的一部分时,我收到以下错误
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.
Run Code Online (Sandbox Code Playgroud)
我在这里尝试了重新格式化的最高评价答案,但这对我不起作用:HDFS错误:只能复制到0个节点,而不是1个节点
这是怎么回事:
PartitionTextFileWriter线程1和2不会写入同一文件,尽管它们在我的目录树的根目录下共享一个父目录.
我的服务器上的磁盘空间没有问题.
我也在我的名称 - 节点日志中看到了这一点,但不确定它的含义:
2016-03-15 11:23:12,149 WARN org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy: Failed to place enough replicas, still in need of 1 to reach 1 (unavailableStorages=[], storagePolicy=BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], replicationFallbacks=[ARCHIVE]}, newBlock=true) For more information, please enable DEBUG log level on org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy
2016-03-15 11:23:12,150 WARN org.apache.hadoop.hdfs.protocol.BlockStoragePolicy: Failed to place enough replicas: …Run Code Online (Sandbox Code Playgroud) 我不知道这里发生了什么,但我试图将一个简单的文件从我本地文件系统的目录复制到为hdfs指定的目录.
在我的hdfs-site.xml中,我已使用以下属性指定hdfs的目录为/ home/vaibhav/Hadoop/dataNodeHadoopData -
<name>dfs.data.dir</name>
<value>/home/vaibhav/Hadoop/dataNodeHadoopData/</value>
and
<name>dfs.name.dir</name>
<value>/home/vaibhav/Hadoop/dataNodeHadoopData/</value>
Run Code Online (Sandbox Code Playgroud)
我使用以下命令 -
bin/hadoop dfs -copyFromLocal /home/vaibhav/ml-100k/u.data /home/vaibhav/Hadoop/dataNodeHadoopData
Run Code Online (Sandbox Code Playgroud)
将文件u.data从其本地文件系统位置复制到我指定为Hdfs目录的目录.但是,当我这样做时,没有任何反应 - 没有错误,没有.并且没有文件被复制到hdsf.难道我做错了什么?可能存在任何权限问题?
建议需要.
我正在使用伪分布式单节点模式.
另外,在相关的说明中,我想问一下,在我的map reduce程序中,我已将配置设置为指向inputFilePath为/home/vaibhav/ml-100k/u.data.那么它不会自动将文件从给定位置复制到hdfs吗?
我正在尝试设置Hadoop群集Fedora 17.当我给/bin/star-all.sh命令守护进程开始在主站和从站节点上.但是当我在主节点上查看数据节点的日志文件时,我得到了EROOR
错误org.apache.hadoop.security.UserGroupInformation:PriviledgedActionException as:hadoop1 cause:java.io.IOException:File /home/hadoop1/mapred/system/jobtracker.info只能复制到0个节点,而不是1个节点
2013-03-23 15:37:08,205 INFO org.apache.hadoop.ipc.Server:9100上的IPC服务器处理程序5,调用addBlock(/home/hadoop1/mapred/system/jobtracker.info,DFSClient_- 838454688,null)来自127.0.0.1:40173:错误:java.io.IOException:文件/home/hadoop1/mapred/system/jobtracker.info只能复制到0个节点,而不是1个java.io.IOException:File/home/hadoop1 /mapred/system/jobtracker.info只能复制到0个节点,而不是在org.apache.hadoop.hdfs的org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)中复制1个节点. .server.namenode.NameNode.addBlock(NameNode.java:696)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)位于org.apache的org.apache.hadoop.ipc.RPC $ Server.call(RPC.java:563)的java.lang.reflect.Method.invoke(Method.java:601). hadoop.ipc.Server $处理 r $ 1.run(Server.java:1388)位于org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1384),位于javax.security的java.security.AccessController.doPrivileged(Native Method). auth.Subject.doAs(Subject.java:415)org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)org.apache.hadoop.ipc.Server $ Handler.run(Server.java: 1382)
我也在尝试运行wordcound程序.使用命令将数据复制到HDFS时
$ bin/hadoop dfs -copyFromLocal/home/hadoop1/Documents/wordcount// home/hadoop1/hdfs/data 我得到以下错误
WARN hdfs.DFSClient:DataStreamer异常:org.apache.hadoop.ipc.RemoteException:java.io.IOException:文件/home/hadoop1/hdfs/data/wordcount/pg20417.txt只能复制到0个节点,而不是1个节点at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)at the sun.reflect org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)at sun.reflect位于org.apache.hadoop.ipc.RPC的java.lang.reflect.Method.invoke(Method.java:601)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)的.GeneratedMethodAccessor5.invoke(未知来源)位于org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1388)的$ Server.call(RPC.java:563)org.apache.hadoop.ipc.Server $ Handler $ 1.run(服务器.java:1384)位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java)的javax.security.auth.Subject.doAs(Subject.java:415)的java.security.AccessController.doPrivileged(Native Method) :1121)在org.apache.hadoop.ipc.S erver $ Handler.run(Server.java:1382)
at org.apache.hadoop.ipc.Client.call(Client.java:1070)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at $Proxy1.addBlock(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at …Run Code Online (Sandbox Code Playgroud) 我在 VMware 上部署了 Hadoop 集群。它们都在 CentOS 7 上。
在 Master 上发出命令 jps:
[root@hadoopmaster anna]# jps
6225 NameNode
6995 ResourceManager
6580 SecondaryNameNode
7254 Jps
Run Code Online (Sandbox Code Playgroud)
在 Slave 上发出命令 jps:
[root@hadoopslave1 anna]# jps
5066 DataNode
5818 Jps
5503 NodeManager
Run Code Online (Sandbox Code Playgroud)
但是,我不知道为什么http://localhost:50070/dfshealth.html#tab-overview上的实时节点 显示为 0。而且我无法发出 hdfs dfs -put in/file/f1。它显示错误消息:
[root@hadoopmaster hadoop]# hdfs dfs -put in/file/f1 /user
16/01/06 02:53:14 WARN hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 8 节点 IB (OFED-1.5.3-4.0.42) 集群上部署 Hadoop-RDMA,并遇到以下问题(又名文件...只能复制到 0 个节点,而不是 1 个节点):
\n\n\nfrolo@A11:~/hadoop-rdma-0.9.8> ./bin/hadoop dfs -copyFromLocal ../pg132.txt /user/frolo/input/pg132.txt\n警告: $HADOOP_HOME 已弃用。\n\ n14/02/05 19:06:30 警告 hdfs.DFSClient: DataStreamer 异常: java.lang.reflect.UndeclaredThrowableException\n 在 com.sun.proxy.$Proxy1.addBlock(未知来源)\n 在 sun.reflect.NativeMethodAccessorImpl .invoke0(本机方法)\n 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n 在 java.lang.reflect.Method .invoke(Method.java:606)\n 在 org.apache.hadoop.io.retry.RetryInvocalHandler.invokeMethod(未知来源)\n 在 org.apache.hadoop.io.retry.RetryInvocalHandler.invoke(未知来源)\ n 在 com.sun.proxy.$Proxy1.addBlock(未知来源)\n 在 org.apache.hadoop.hdfs.From.Code(未知来源)\n 在 org.apache.hadoop.hdfs.From.F(未知来源)源)\n 位于 org.apache.hadoop.hdfs.From.F(未知源)\n 位于 org.apache.hadoop.hdfs.The.run(未知源)\n由:org.apache.hadoop.ipc 引起。 RemoteException:java.io.IOException:文件/user/frolo/input/pg132.txt只能复制到0个节点,而不是org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(未知)的1\n源)\n 在 org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(未知源)\n 在 sun.reflect.GeneratedMethodAccessor6.invoke(未知源)\n 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43)\n 在 java.lang.reflect.Method.invoke(Method.java:606)\n 在 org.apache.hadoop.ipc.RPC$Server.call(未知来源)\n 在 org.apache .hadoop.ipc.rdma.madness.Code(未知来源)\n 位于 org.apache.hadoop.ipc.rdma.madness.run(未知来源)\n 位于 java.security.AccessController.doPrivileged(本机方法)\n在 javax.security.auth.Subject.doAs(Subject.java:415)\n 在 org.apache.hadoop.security.UserGroupInformation.doAs(未知来源)\n 在 org.apache.hadoop.ipc.rdma.be。运行(未知来源)\n 在 …