全部產品
Search
文件中心

Lindorm:通過開源HDFS用戶端串連並使用LindormDFS

更新時間:Jul 06, 2024

本文介紹如何使用開源HDFS用戶端訪問LindormDFS。

前提條件

  • 已安裝Java環境,JDK版本不能低於1.7。

  • 已將用戶端IP地址添加至Lindorm白名單。如何添加,請參見設定白名單

注意事項

如果應用部署在ECS,您需要確保Lindorm執行個體和ECS執行個體滿足以下條件,以保證網路的連通性。

  • 所在地區相同,並建議使用相同的可用性區域域(以減少網路延時)。

  • 使用相同的專用網路。

下載用戶端

下載Hadoop2.7.3版本SDK:hadoop-2.7.3.tar.gz。下載地址:Apache官網

配置Hadoop

  1. 執行以下命令,解壓縮SDK包。

    tar -zxvf hadoop-2.7.3.tar.gz
  2. 添加Hadoop環境變數。

    export HADOOP_HOME=/${Hadoop安裝目錄}/hadoop-2.7.3
  3. 執行以下命令進入hadoop目錄。

    cd $HADOOP_HOME
  4. 將Java環境變數JAVA_HOME添加至etc/hadoop/目錄下的hadoop-env.sh檔案中,假設Java安裝在/opt/install/java

    # set to the root of your Java installation
    export JAVA_HOME=/opt/install/java
  5. 修改etc/hadoop/hdfs-site.xml檔案。hdfs-site.xml檔案中需要修改的內容如下所示,其中執行個體ID需要替換為真實的執行個體ID。

    <configuration>
      <property>
            <name>dfs.nameservices</name>
            <value>${執行個體ID}</value>
        </property>
        <property>
           <name>dfs.client.failover.proxy.provider.${執行個體ID}</name>
           <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
           <name>dfs.ha.automatic-failover.enabled</name>
           <value>true</value>
        </property>
        <property>
           <name>dfs.ha.namenodes.${執行個體ID}</name>
           <value>nn1,nn2</value>
        </property>
         <property>
           <name>dfs.namenode.rpc-address.${執行個體ID}.nn1</name>
           <value>${執行個體ID}-master1-001.lindorm.rds.aliyuncs.com:8020</value>
        </property>
        <property>
           <name>dfs.namenode.rpc-address.${執行個體ID}.nn2</name>
           <value>${執行個體ID}-master2-001.lindorm.rds.aliyuncs.com:8020</value>
        </property>
    </configuration>
說明
  • 您可以在自動組建組態檔案,詳情請參見開通指南

  • 以上樣本適用於配置單個執行個體時的情境,即樣本中的${執行個體ID}均為同一執行個體的ID。如果需要同時配置多個執行個體,請按照執行個體數量,將上述範例程式碼中所有的<property>屬性複製多份,每份設定不同的執行個體ID,並粘貼在<configuration>屬性內。

常用操作樣本

  • 上傳本地檔案。

    • 建立目錄。

    $HADOOP_HOME/bin/hadoop fs -mkdir hdfs://${執行個體ID}/test
    • 準備一個檔案,將其上傳到LindormDFS。

    echo "test" > test.log
    $HADOOP_HOME/bin/hadoop fs -put test.log hdfs://${執行個體ID}/test
  • 查看上傳的檔案。

     $HADOOP_HOME/bin/hadoop fs -ls hdfs://${執行個體ID}/test
  • 下載檔案到本地。

    $HADOOP_HOME/bin/hadoop fs -get hdfs://${執行個體ID}/test/test.log
    說明

    其中執行個體ID請替換為真實的執行個體ID。