Java 为什么可以';hadoop不能加载这个类吗?

Java 为什么可以';hadoop不能加载这个类吗?,java,hadoop,Java,Hadoop,我在core-site.xml中配置了一个RackAareness类,然后在hadoop-env.sh中配置了一个包含RackAreness类的类路径。如下所示:export HADOOP_CLASSPATH=“/opt/modules/HADOOP-2.7.2/lib/rack.jar” 如果我使用命令hadoop classpath,我可以看到类路径 然后我启动了hdfs,但namenode已退出。错误已被记录 我该怎么办 java.lang.RuntimeException: java.l

我在core-site.xml中配置了一个RackAareness类,然后在hadoop-env.sh中配置了一个包含RackAreness类的类路径。如下所示:export HADOOP_CLASSPATH=“/opt/modules/HADOOP-2.7.2/lib/rack.jar”

如果我使用命令hadoop classpath,我可以看到类路径

然后我启动了hdfs,但namenode已退出。错误已被记录

我该怎么办

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class >com.learning.rackawareness.RackAwareness not found
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2227)
    at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.<init>(DatanodeManager.java:208)
    at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.<init>(BlockManager.java:268)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:737)
    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:246)
    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:192)
    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class >com.learning.rackawareness.RackAwareness not found
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2219)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: Class >com.learning.rackawareness.RackAwareness not found
    at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2101)
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2193)
    ... 7 more
java.lang.RuntimeException:java.lang.RuntimeException:java.lang.ClassNotFoundException:Class>com.learning.RackAware.RackAware未找到
位于org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2227)
位于org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager(DatanodeManager.java:208)
位于org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.(BlockManager.java:268)
位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:737)
位于org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:246)
位于org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.(SecondaryNameNode.java:192)
位于org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671)
原因:java.lang.RuntimeException:java.lang.ClassNotFoundException:Class>com.learning.RackAware.RackAware未找到
位于org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
位于org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2219)
... 还有6个
原因:java.lang.ClassNotFoundException:Class>com.learning.RackAware.RackAware未找到
位于org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2101)
位于org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2193)
... 还有7个

可能重复,但这不是类路径问题。