我对Hadoop、Mapr和Pivotal都很陌生。我编写了java代码,以便编写成关键的代码,但在编写Mapr时却面临问题。
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。
任何信息都非常感谢。
谢谢
标题
发布于 2013-07-31 13:27:08
试试这段代码。但是,请确保在执行测试的节点中设置了MapR客户端。
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。
<dependency>
<groupid>hadoop</groupid>
<artifactid>hadoop</artifactid>
<version>0.20.2</version>
<scope>provided</scope>
</dependency> https://stackoverflow.com/questions/17952416
复制相似问题