簡體   English   中英

使用Java的Mapr

[英]Mapr using Java

我是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();
        }

    }

該代碼在pivoatal上可以正常運行,但在Mapr上則無法運行。

對於Mapr,我正在使用端口=7222。我收到以下錯誤“遠程主機強行關閉了現有連接”

請讓我知道是使用正確的端口還是需要更改Mapr專用代碼中的任何內容。

我已經停止了iptables。

任何信息都非常感謝。

謝謝

標題

試試這個代碼。 但是,請確保在執行測試的節點中具有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目錄/共享記錄-1.0.4.jar:/opt/mapr/hadoop/hadoop-0.20 0.2 / LIB /動物園管理員-3.3.2.jar

上面的代碼中的此語句: System.setProperty( "java.library.path", "/opt/mapr/lib" ); 如果在構建時從終端運行程序,則可以將其刪除並也可以使用-Djava.library.path提供。

/ opt / mapr可能不是您的映射器文件路徑。 如果是這種情況,請在適用的情況下相應地替換路徑。

注釋后:如果您使用Maven構建項目,請嘗試在pom.xml中使用以下內容,並提供范圍。 MapR也與正常的Apache Hadoop發行版兼容。 因此,在構建時可以使用相同的對象。 然后,當您運行程序時,將在類路徑中提供mapR jar。

<dependency>
   <groupid>hadoop</groupid>
   <artifactid>hadoop</artifactid>
   <version>0.20.2</version>
   <scope>provided</scope>
</dependency> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM