我在Windows 7笔记本电脑上下载了Cloudera VM。一世 我正在尝试连接到VM中运行的Hadoop实例 视窗。我做了一个ifconfig并获得了VM的IP地址。我可以 从Firefox运行连接到VM中运行的Web界面 在我的Windows机器上,所以我知道我至少可以连接到那个。
接下来,我尝试从Java连接到Hadoop。
public class FileSystemWriter
{
static
{
URL.setURLStreamHandlerFactory( new FsUrlStreamHandlerFactory() );
}
public static void main( String[] args ) throws Exception
{
String uri = "hdfs://192.168.171.128/user";
Configuration conf = new Configuration();
System.out.println( "uri: " + uri );
FileSystem fs = FileSystem.get( URI.create( uri ), conf );
}
}
但我得到错误。
uri:hdfs://192.168.171.128/user
Aug 9, 2011 8:29:26 AM org.apache.hadoop.ipc.Client$Connection
handleConnectionFailure
INFO: Retrying connect to server: /192.168.171.128:8020. Already tried
0 time(s).
Aug 9, 2011 8:29:28 AM org.apache.hadoop.ipc.Client$Connection
handleConnectionFailure
INFO: Retrying connect to server: /192.168.171.128:8020. Already tried
1 time(s).
Aug 9, 2011 8:29:30 AM org.apache.hadoop.ipc.Client$Connection
handleConnectionFailure
INFO: Retrying connect to server: /192.168.171.128:8020. Already tried
2 time(s).
任何人都可以帮助我吗?
答案 0 :(得分:2)
首先,尝试通过hftp连接。
uri = "hftp://172.16.xxx.xxx:50070/";
System.out.println( "uri: " + uri );
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get( URI.create( uri ), conf );
fs.printStatistics();
如果你看到了什么(没有例外),那么你就连接了。
如果你不这样做,那你的问题不是HDFS,而是你的问题是你有一个坏的ip,或者hadoop没有运行,或者你的端口被阻塞......等等......
答案 1 :(得分:2)
确保您的Namenode正在侦听端口8020.您可以使用以下命令进行检查:
hadoop fs -ls hdfs://namenode(ip):8020
如果此检查失败,请键入vim HADOOP_HOME/conf/core-site.xml
并在此fs.default.name
条目中查看您的namenode端口。
更改您的java代码:
String uri = "hdfs://192.168.171.128:portOfNameNode/user";