首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java的Mapr

使用Java的Mapr
EN

Stack Overflow用户
提问于 2013-07-30 16:24:56
回答 1查看 2.2K关注 0票数 1

我对Hadoop、Mapr和Pivotal都很陌生。我编写了java代码,以便编写成关键的代码,但在编写Mapr时却面临问题。

代码语言:javascript
复制
  public class HadoopFileSystemManager {
        private String url;
        public void writeFile(String filePath,String data) throws IOException, URISyntaxException {
            Path fPath = new Path(filePath);
            String url = url = "hdfs://"+ip+":"+"8020";
            FileSystem fs = FileSystem.get(new URI(url),new Configuration());
            System.out.println(fs.getWorkingDirectory());
            FSDataOutputStream writeStream = fs.create(fPath);
            writeStream.writeChars(data);
            writeStream.close();
        }

    }

这个代码对枢轴很好,但在Mapr中却失败了。

对于Mapr,我使用的是端口= 7222。我收到以下错误:“远程主机强行关闭了现有连接”

请让我知道如果我使用正确的端口或任何需要更改的代码特定于Mapr。

我已经阻止了iptable。

任何信息都非常感谢。

谢谢

标题

EN

回答 1

Stack Overflow用户

发布于 2013-07-31 13:27:08

试试这段代码。但是,请确保在执行测试的节点中设置了MapR客户端。

代码语言:javascript
复制
public class HadoopFileSystemManager {
        private String url;
        public void writeFile(String filePath,String data) throws IOException, URISyntaxException {
            System.setProperty( "java.library.path", "/opt/mapr/lib" );
            Path fPath = new Path(filePath);
            String url = url = "hdfs://"+ip+":"+"8020";
            FileSystem fs = FileSystem.get(new URI(url),new Configuration());
            System.out.println(fs.getWorkingDirectory());
            FSDataOutputStream writeStream = fs.create(fPath);
            writeStream.writeChars(data);
            writeStream.close();
        }

    }

在类路径中添加以下内容:

/opt/mapr/hadoop/hadoop-0.20.2/conf:/opt/mapr/hadoop/hadoop-0.20.2/lib/hadoop-0.20.2-dev-core.jar:/opt/mapr/hadoop/hadoop-0.20.2/lib/maprfs-0.1.jar:.:/opt/mapr/hadoop/hadoop-0.20.2/lib/commons-logging-1.0.4.jar:/opt/mapr/hadoop/hadoop-0.20.2/lib/zookeeper-3.3.2.jar

以上代码中的这条语句:如果您在构建时正在从终端运行程序,System.setProperty( "java.library.path", "/opt/mapr/lib" );可以被删除,也可以使用-Djava.library.path提供。

/opt/ mapr 可能不是您访问mapr文件的路径。如果是这样的话,请在适用的情况下相应地替换路径。

注释后的--如果您正在使用Maven构建您的项目,请尝试在pom.xml中使用以下内容,并提供范围。MapR也与普通的Apache发行版兼容。所以,当你建造的时候,你可以使用同样的。然后,当您运行程序时,您将在类路径中提供mapR jars。

代码语言:javascript
复制
<dependency>
   <groupid>hadoop</groupid>
   <artifactid>hadoop</artifactid>
   <version>0.20.2</version>
   <scope>provided</scope>
</dependency> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17952416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档