日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Hadoop使用JindoSDK訪問OSS-HDFS服務(wù)

更新時(shí)間:

OSS-HDFS服務(wù)是一款云原生數(shù)據(jù)湖存儲產(chǎn)品。基于統(tǒng)一的元數(shù)據(jù)管理能力,在完全兼容HDFS文件系統(tǒng)接口的同時(shí),提供充分的POSIX能力支持,能更好地滿足大數(shù)據(jù)和AI等領(lǐng)域的數(shù)據(jù)湖計(jì)算場景。本文介紹Hadoop如何通過JindoSDK訪問OSS-HDFS服務(wù)。

前提條件

已開通并授權(quán)訪問OSS-HDFS服務(wù)。具體操作,請參見開通OSS-HDFS服務(wù)

什么是OSS-HDFS服務(wù)

通過OSS-HDFS服務(wù),無需對現(xiàn)有的Hadoop、Spark大數(shù)據(jù)分析應(yīng)用做任何修改。通過簡單的配置即可像在原生HDFS中那樣管理和訪問數(shù)據(jù),同時(shí)獲得OSS無限容量、彈性擴(kuò)展、更高的安全性、可靠性和可用性支撐。

作為云原生數(shù)據(jù)湖基礎(chǔ),OSS-HDFS在滿足EB級數(shù)據(jù)分析、億級文件管理服務(wù)、TB級吞吐量的同時(shí),全面融合大數(shù)據(jù)存儲生態(tài),除提供對象存儲扁平命名空間之外,還提供了分層命名空間服務(wù)。分層命名空間支持將對象組織到一個(gè)目錄層次結(jié)構(gòu)中進(jìn)行管理,并能通過統(tǒng)一元數(shù)據(jù)管理能力進(jìn)行內(nèi)部自動(dòng)轉(zhuǎn)換。對Hadoop用戶而言,無需做數(shù)據(jù)復(fù)制或轉(zhuǎn)換就可以實(shí)現(xiàn)像訪問本地HDFS一樣高效的數(shù)據(jù)訪問,極大提升整體作業(yè)性能,降低了維護(hù)成本。

關(guān)于OSS-HDFS服務(wù)的應(yīng)用場景、服務(wù)特性、功能特性等更多信息,請參見什么是OSS-HDFS服務(wù)

步驟一:創(chuàng)建專有網(wǎng)絡(luò)VPC并添加云服務(wù)器ECS實(shí)例

  1. 創(chuàng)建允許內(nèi)網(wǎng)訪問OSS-HDFS服務(wù)的專有網(wǎng)絡(luò)VPC。

    1. 登錄專有網(wǎng)絡(luò)管理控制臺

    2. 專有網(wǎng)絡(luò)頁面,單擊創(chuàng)建專有網(wǎng)絡(luò)

      創(chuàng)建專有網(wǎng)絡(luò)VPC時(shí),需確保創(chuàng)建的VPC與待開啟OSS-HDFS服務(wù)的Bucket位于相同的地域(Region)。創(chuàng)建VPC的具體操作,請參見創(chuàng)建專有網(wǎng)絡(luò)和交換機(jī)

  2. 添加云服務(wù)器ECS實(shí)例。

    1. 單擊已創(chuàng)建的VPC ID,然后單擊資源管理頁簽。

    2. 包含基礎(chǔ)云資源區(qū)域,單擊云服務(wù)器(ECS)右側(cè)的序號

    3. 實(shí)例頁面,單擊創(chuàng)建實(shí)例

      創(chuàng)建ECS實(shí)例時(shí),需確保該ECS實(shí)例與已創(chuàng)建的專有網(wǎng)絡(luò)VPC位于相同地域。創(chuàng)建ECS實(shí)例的具體操作,請參見選購ECS實(shí)例

步驟二:創(chuàng)建Hadoop運(yùn)行環(huán)境

  1. 安裝Java環(huán)境。

    1. 在已創(chuàng)建的ECS示例右側(cè),單擊遠(yuǎn)程連接

      關(guān)于遠(yuǎn)程連接ECS實(shí)例的具體操作,請參見ECS遠(yuǎn)程連接方式概述

    2. 檢查JDK版本。

      java -version
    3. 可選:如果JDK1.8.0以下版本,請卸載已有的JDK。如果JDK1.8.0或以上版本,請?zhí)^此步驟。

      rpm -qa | grep java | xargs rpm -e --nodeps
    4. 安裝Java。

      sudo yum install java-1.8.0-openjdk* -y
    5. 執(zhí)行以下命令,打開配置文件。

      vim /etc/profile
    6. 添加環(huán)境變量。

      如果提示當(dāng)前JDK Path不存在,請前往/usr/lib/jvm/查找java-1.8.0-openjdk

      export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
      export PATH=$PATH:$JAVA_HOME/bin
    7. 使環(huán)境變量生效。

      source /etc/profile

  2. 啟用SSH服務(wù)。

    1. 安裝SSH服務(wù)。

      sudo yum install -y openssh-clients openssh-server
    2. 啟用SSH服務(wù)。

      systemctl enable sshd && systemctl start sshd
    3. 生成SSH密鑰,并將生成的密鑰添加到信任列表。

      ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
      chmod 0600 ~/.ssh/authorized_keys
  3. 安裝Hadoop。

    1. 下載Hadoop安裝包。

      以下載3.4.0版本的Hadoop安裝包為例。如使用其他版本的Hadoop,請?zhí)鎿Q為對應(yīng)的Hadoop安裝包名稱。如何獲取Hadoop安裝包,請參見Hadoop

      wget https://downloads.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
    2. 解壓安裝包。

      tar xzf hadoop-3.4.0.tar.gz
    3. 將安裝包移動(dòng)到常用位置。

      mv hadoop-3.4.0 /usr/local/hadoop
    4. 配置環(huán)境變量。

      1. 配置Hadoop環(huán)境變量。

        vim /etc/profile
        export HADOOP_HOME=/usr/local/hadoop
        export PATH=$HADOOP_HOME/bin:$PATH
        source /etc/profile
      2. 更新Hadoop配置文件中的HADOOP_HOME

        cd $HADOOP_HOME
        vim etc/hadoop/hadoop-env.sh
      3. ${JAVA_HOME}替換為實(shí)際路徑。

        export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    5. 可選:如果提示目錄不存在,請執(zhí)行以下命令,使環(huán)境變量生效。

      cd $HADOOP_HOME/etc/hadoop
    6. 更新配置文件core-site.xml以及hdfs-site.xml

      • 更新配置文件core-site.xml并添加屬性。

        <configuration>
          <!-- 指定HDFSNameNode的地址。-->
          <property>
              <name>fs.defaultFS</name>
              <!--替換為主機(jī)名或localhost。-->
              <value>hdfs://localhost:9000</value>
          </property>
        
          <!--將Hadoop臨時(shí)目錄修改為自定義目錄。-->
          <property>
              <name>hadoop.tmp.dir</name>
              <!--admin操作時(shí)完成目錄授權(quán)sudo chown -R admin:admin /opt/module/hadoop-3.4.0-->
              <value>/opt/module/hadoop-3.4.0/data/tmp</value>
          </property>
        </configuration>
      • 更新配置文件hdfs-site.xml并添加屬性。

        <configuration>
          <!-- 指定HDFS副本的數(shù)量。-->
          <property>
              <name>dfs.replication</name>
              <value>1</value>
          </property>
        </configuration>
    7. 格式化文件結(jié)構(gòu)。

      hdfs namenode -format
    8. 啟動(dòng)HDFS。

      啟動(dòng)HDFS分為啟動(dòng)NameNode、DataNodeSecondary NameNode三個(gè)步驟。

      1. 啟動(dòng)HDFS。

        cd /usr/local/hadoop/
        sbin/start-dfs.sh
      2. 查看進(jìn)程。

        jps

        返回結(jié)果如下:

        hdfs

        完成上述步驟后,即可建立HDFS守護(hù)進(jìn)程。由于HDFS本身具備HTTP面板,您可以通過瀏覽器訪問http://{ip}:9870,查看HDFS面板以及詳細(xì)信息。

  4. 測試Hadoop是否安裝成功。

    執(zhí)行hadoop version命令,如果正常返回版本信息,表明安裝成功。

步驟三:切換本地HDFS到云上OSS-HDFS服務(wù)

  1. 下載JindoSDK JAR包。

    1. 切換至目標(biāo)目錄。

      cd /usr/lib/
    2. 下載最新版本的JindoSDK JAR包。下載地址,請參見GitHub

    3. 解壓JindoSDK JAR包。

      tar zxvf jindosdk-x.x.x-linux.tar.gz
      說明

      x.x.x表示JindoSDK JAR包版本號。

  2. 配置環(huán)境變量。

    1. 編輯配置文件。

      vim /etc/profile
    2. 配置環(huán)境變量。

      export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux
    3. 配置HADOOP_CLASSPATH。

      export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*
    4. 執(zhí)行以下命令使環(huán)境變量配置生效。

      . /etc/profile

  3. 配置JindoSDK DLS實(shí)現(xiàn)類及AccessKey。

    1. JindoSDK DLS實(shí)現(xiàn)類配置到Hadoopcore-site.xml中。

      <configuration>
          <property>
              <name>fs.AbstractFileSystem.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOSS</value>
          </property>
      
          <property>
              <name>fs.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
          </property>
      </configuration>
    2. 將已開啟HDFS服務(wù)的Bucket對應(yīng)的accessKeyId、accessKeySecret預(yù)先配置在Hadoopcore-site.xml中。

      <configuration>
          <property>
              <name>fs.oss.accessKeyId</name>
              <value>xxx</value>
          </property>
      
          <property>
              <name>fs.oss.accessKeySecret</name>
              <value>xxx</value>
          </property>
      </configuration>
  4. 配置OSS-HDFS服務(wù)的Endpoint。

    訪問OSS-HDFS服務(wù)時(shí)需要配置Endpoint。推薦訪問路徑格式為oss://<Bucket>.<Endpoint>/<Object>,例如oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt。配置完成后,JindoSDK會(huì)根據(jù)訪問路徑中的Endpoint訪問對應(yīng)的OSS-HDFS服務(wù)接口。

    除上述提到的在訪問路徑中指定Endpoint的方式以外,您還可以通過其他配置OSS-HDFS服務(wù)的Endpoint。更多信息,請參見配置Endpoint的其他方式

步驟四:訪問OSS-HDFS服務(wù)

  • 新建目錄

    在目標(biāo)存儲空間examplebucket下創(chuàng)建名為dir/的目錄,示例如下:

    hdfs dfs -mkdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • 上傳文件

    將本地examplefile.txt文件上傳至目標(biāo)存儲空間examplebucket,示例如下:

    hdfs dfs -put /root/workspace/examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • 查看目錄信息

    查看目標(biāo)存儲空間examplebucket下目錄dir/的信息,示例如下:

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • 查看文件信息

    查看目標(biāo)存儲空間examplebucket下文件examplefile.txt的信息,示例如下:

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • 查看文件內(nèi)容

    查看目標(biāo)存儲空間examplebucket下文件examplefile.txt的內(nèi)容,示例如下:

    重要

    執(zhí)行以下命令后,文件內(nèi)容將以純文本形式打印在屏幕上。如果文件存在特定格式的編碼,請使用HDFSJava API讀取文件內(nèi)容,然后進(jìn)行解碼操作后即可獲取對應(yīng)的文件內(nèi)容。

    hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • 拷貝目錄或文件

    將目標(biāo)存儲空間examplebucket下根目錄subdir1拷貝到目錄subdir2下,且根目錄subdir1所在的位置、根目錄下的文件和子目錄結(jié)構(gòu)和內(nèi)容保持不變,示例如下:

    hdfs dfs -cp oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir1/  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir2/subdir1/
  • 移動(dòng)目錄或文件

    將目標(biāo)存儲空間根目錄srcdir及其包含的文件或者子目錄移動(dòng)至另一個(gè)根目錄destdir下,示例如下:

    hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir/  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir/
  • 下載文件

    將目標(biāo)存儲空間examplebucket下的exampleobject.txt下載到本地根目錄文件夾/tmp下,示例如下:

    hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • 刪除目錄或文件

    刪除目標(biāo)存儲空間examplebucket下目錄destfolder/及其目錄下的所有文件,示例如下:

    hdfs dfs -rm oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destfolder/