Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadooponazure中的直接HDFS访问_Azure_Hadoop_Hdfs - Fatal编程技术网

hadooponazure中的直接HDFS访问

hadooponazure中的直接HDFS访问,azure,hadoop,hdfs,Azure,Hadoop,Hdfs,横杆来自: 我在检查发布前的服务。除了通常的作业执行之外,我希望能够从我的应用程序访问HDFS。我试图在名称节点上运行它,可以通过RDP获得 我已经尝试过stahdard Java HDFS驱动程序(使用org.apache.hadoop.fs.FileSystem.get()方法打开),将名称节点配置('C:\Apps\dist\conf')包含到类路径中。据我所知,这应该足以将我的应用程序连接到HDFS集群,就像名称节点一样 但我得到了以下例外: Exception in thread "m

横杆来自:

我在检查发布前的服务。除了通常的作业执行之外,我希望能够从我的应用程序访问HDFS。我试图在名称节点上运行它,可以通过RDP获得

我已经尝试过stahdard Java HDFS驱动程序(使用org.apache.hadoop.fs.FileSystem.get()方法打开),将名称节点配置('C:\Apps\dist\conf')包含到类路径中。据我所知,这应该足以将我的应用程序连接到HDFS集群,就像名称节点一样

但我得到了以下例外:

Exception in thread "main" java.io.IOException: Failed on local exception: java.io.EOFException; Host Details : local host is: "RD00155D42B620/10.*.*.*"; destination host is: ""10.*.*.*":9000;
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:724)
        at org.apache.hadoop.ipc.Client.call(Client.java:1090)
        at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:193)
        at $Proxy6.getFileInfo(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:100)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:65)
        at $Proxy6.getFileInfo(Unknown Source)
        at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1170)
        at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:725)
        at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1165)
        at org.gridgain.examples.dataload.GridCacheHdfsDataLoaderExample.populateHdfs(GridCacheHdfsDataLoaderExample.java:225)
        at org.gridgain.examples.dataload.GridCacheHdfsDataLoaderExample.main(GridCacheHdfsDataLoaderExample.java:93)
Caused by: java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:818)
        at org.apache.hadoop.ipc.Client$Connection.run(Client.java:756)
(其中10…*是运行应用程序的名称节点的ip)

我认为这种连接失败是由Azure的某种内部策略造成的

所以我有两个主要问题:

  • 此服务是否支持HDFS的外部连接
  • 我尝试使用名称节点的配置连接到HDFS对吗

  • 根据我的经验,您的错误表明服务器(Azure端)上部署的Hadoop库与您试图运行代码的版本之间存在版本不匹配