<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          HdfsDataExchangerhdfs 集群間數(shù)據(jù)交換

          聯(lián)合創(chuàng)作 · 2023-09-30 23:36

          背景

          當前比較流行的hdfs間數(shù)據(jù)遷移工具有hadoop默認提供的distcp,阿里開源的DataX,這些工具能夠滿足常規(guī)的大部分需求,但是當時碰到hadoop版本不一致、keberos授權等場景時就行不通了。針對這些特殊的應用場景和實際需求我就構思并實現(xiàn)了HdfsDataExchanger這種實現(xiàn)方案。通過在一臺可以訪問兩邊hadoop集群的中轉機上部署HdfsDataExchanger就可以實現(xiàn)將一個集群的數(shù)據(jù)遷移到另一個集群。HdfsDataExchanger提供單機多線程數(shù)據(jù)遷移,不支持分布式并行執(zhí)行。

          功能介紹

          1. 不同版本的hdfs間文件遷移。

          2. 本地文件系統(tǒng)與hdfs間文件遷移。

          avatar

          原理說明

          • 抽象一套hdfs文件操作接口。

          • 使用源集群和目標集群對應版本的hadoop分別實現(xiàn)接口。

          • 使用jetty的WebAppClassLoader分別加載兩套(源和目標)hdfs相關的jar,并創(chuàng)建對應的FileSystem。

          • 使用源FileSystem讀取數(shù)據(jù)到緩沖區(qū),然后使用目標FileSystem將緩沖區(qū)的數(shù)據(jù)寫入到目標文件。

            avatar

          使用說明

          • data-exchanger目錄下包含完整的部署目錄

          1. h1為hadoop1的配置(conf)和相關的jar包(jars)

          2. h2為hadoop2的配置(conf)和相關的jar包(jars)

          3. main為主程序相關的配置(conf)、相關的jar包(jars)和啟動腳本(bin)

        2. 配置說明

          參數(shù)名 說明
          thread.count 并行進行遷移數(shù)據(jù)的線程數(shù)量
          buffer.size 讀取數(shù)據(jù)緩沖區(qū)大小
          src/dest.hdfs.resource.path 源/目標hdfs的jar包目錄
          src/dest.filesystem.implement 源/目標針對抽象出的hdfs接口(com.sebastian.fdx.fs.api.BaseFileSystem)的實現(xiàn)類,WebAppClassLoader根據(jù)此配置加載對應的實現(xiàn)
          src/dest.hdfs.conf.path 源/目標對應的core-site.xml和hdfs-site.xml
          1. h1和h2的jars目錄下應該包含依賴的所有hadoop jar包,當前只包含了fdx-hadoopX-filesystem-1.0-SNAPSHOT.jar,用戶在使用時需根據(jù)實際的hadoop版本自行編譯,并將依賴的jar和編譯出來的jar一并放到對應的目錄下。

          2. main/jars目錄放fdx-executor和fdx-filesystem-api編譯出的jar以及依賴的所有jar。

          3. main/conf/parameter.xml

        3. 執(zhí)行
          bin/run.sh src_path1 src_path2 ... dest_path 將src_pathX下的所有文件、目錄復制到dest_path下

        4. 瀏覽 19
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  音影先锋操逼 | 久久精品2019中文字幕人妻欧 | 亚洲激情欧美色图 | 日韩在线黄色操B视频 | 白丝暴肛在线观看91 |