启动namenode,datanode,都找不到,javax.net.SocketFactory.createSocket(),
那位高手能指点一下吗?
2011-11-06 12:58:45,886 FATAL org.apache.hadoop.mapred.JobTracker: java.lang.NoSuchMethodError: javax.net.SocketFactory.createSocket()Ljava/net/Socket;
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:390)at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:527)
at org.apache.hadoop.ipc.Client$Connection.access$1800(Client.java:187)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1164)
at org.apache.hadoop.ipc.Client.call(Client.java:1010)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:224)
conf/hadoop_env.sh 的这样配置的。
export JAVA_HOME=/opt/jdk/jdk1.6.0_16
export HADOOP_HOME=/opt/hadoopexport HADOOP_INSTALL=/opt/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export CLASSPATH=.:$CLASSPATH
用的是opensuse:在/etc/profile 这样配置的:
JAVA_HOME=/opt/jdk/jdk1.6.0_16
HADOOP_HOME=/opt/hadoop
PATH=$JAVA_HOME/bin/:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
jdk应该没有问题,能够编译执行java程序。
引用来自“zhangheng”的答案
conf/hadoop_env.sh 的这样配置的。
export JAVA_HOME=/opt/jdk/jdk1.6.0_16
export HADOOP_HOME=/opt/hadoopexport HADOOP_INSTALL=/opt/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export CLASSPATH=.:$CLASSPATH
用的是opensuse:在/etc/profile 这样配置的:
JAVA_HOME=/opt/jdk/jdk1.6.0_16
HADOOP_HOME=/opt/hadoop
PATH=$JAVA_HOME/bin/:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
jdk应该没有问题,能够编译执行java程序。
那就不是很明白了
我的hadoop-env.sh只加了JAVA_HOME的 也沒发现有什么问题
谢谢各位!
包依赖问题,问题已经解决了:
1,装jdk时jsse.pack这个包没有unpack,当时报错找不到SocketFactory这个类。
2,然后我下了个jnet包,这个包里的SocketFactory没有createSocket()这个方法,所以报了上面的错误。
3,现在不用jnet包,打开jsse.pack就可以了。