Todos os produtos
Search
Central de documentação

Object Storage Service:Acesse o OSS-HDFS usando o JindoSDK

Última atualização: Jul 03, 2026

O OSS-HDFS é um serviço de armazenamento nativo da nuvem para data lakes. Ele oferece gerenciamento unificado de metadados, compatibilidade total com a API do HDFS e suporte abrangente a POSIX, tornando-o ideal para cargas de trabalho de data lake em big data e IA. Este tópico descreve como usar o Hadoop para acessar o OSS-HDFS por meio do JindoSDK.

Pré-requisitos

Você ativou o OSS-HDFS para um bucket e tem autorização para acessá-lo. Para mais informações, consulte Ativar o OSS-HDFS.

Visão geral

O OSS-HDFS funciona com aplicações Hadoop e Spark existentes sem necessidade de modificações. Após a configuração básica, gerencie os dados como no HDFS nativo, com os benefícios adicionais do OSS: capacidade praticamente ilimitada, escalabilidade elástica, além de maior segurança, confiabilidade e disponibilidade.

O OSS-HDFS processa exabytes de dados e bilhões de arquivos com throughput na casa dos terabytes. Além do namespace plano do armazenamento de objetos padrão, ele fornece um namespace hierárquico que organiza objetos em diretórios e converte automaticamente o namespace por meio do gerenciamento unificado de metadados. Em vez da redundância ativa-standby do NameNode tradicional do HDFS, o OSS-HDFS utiliza redundância multi-nó ativa-ativa para garantir resiliência superior. Usuários do Hadoop acessam os dados com a mesma eficiência do HDFS local, sem replicação ou conversão, o que melhora o desempenho dos jobs e reduz custos de manutenção.

Para mais informações sobre casos de uso, características e recursos do OSS-HDFS, consulte O que é o OSS-HDFS?

Etapa 1: Crie uma VPC e adicionar uma instância ECS

  1. Crie uma VPC para permitir o acesso ao OSS-HDFS pela rede interna.

    1. Faça login no VPC console.

    2. Na página VPC, clique em Create VPC.

      Certifique-se de que a VPC esteja na mesma região do bucket onde você ativou o OSS-HDFS. Para mais informações sobre como criar uma VPC, consulte Criar uma VPC e um vSwitch.

  2. Adicione uma instância ECS.

    1. Clique em ID da VPC criada e, em seguida, clique em aba Resource Management.

    2. Na seção Cloud Resources, clique em ícone 序号 ao lado de ECS.

    3. Na página Instances, crie uma instância ECS.

      Ao criar uma instância ECS, verifique se ela está na mesma região da VPC criada. Para mais informações sobre como criar uma instância ECS, consulte Criar uma instância.

Etapa 2: Configure o ambiente de execução do Hadoop

  1. Instale o ambiente Java.

    1. Na instância ECS criada, clique em Connect na coluna Actions.

      Para mais informações sobre como estabelecer uma conexão remota com uma instância ECS, consulte Métodos de conexão.

    2. Verifique a versão do Java Development Kit (JDK).

      java -version
    3. Opcional:Desinstale o JDK se a versão for anterior a 1.8.0.

      rpm -qa | grep java | xargs rpm -e --nodeps
    4. Instale o Java.

      sudo yum install java-1.8.0-openjdk* -y
    5. Execute o comando a seguir para abrir o arquivo de configuração de perfil.

      vim /etc/profile
    6. Adicione as variáveis de ambiente.

      Se ocorrer o erro "path does not exist", acesse o diretório /usr/lib/jvm/ para localizar o arquivo 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. Aplique as variáveis de ambiente.

      source /etc/profile
  2. Ative o serviço SSH.

    1. Instale o serviço SSH.

      sudo yum install -y openssh-clients openssh-server
    2. Ative e inicie o serviço SSH.

      systemctl enable sshd && systemctl start sshd
    3. Gere uma chave SSH e adicione-a à lista de chaves autorizadas.

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

    1. Baixe o pacote de instalação do Hadoop.

      Este exemplo usa o Hadoop 3.4.0. Se utilizar uma versão diferente, substitua o nome do pacote adequadamente. Para encontrar pacotes de instalação do Hadoop, consulte a página Apache Hadoop releases.

      wget https://downloads.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
    2. Extraia o pacote de instalação.

      tar xzf hadoop-3.4.0.tar.gz
    3. Mova o pacote para um local comum.

      mv hadoop-3.4.0 /usr/local/hadoop
    4. Configure as variáveis de ambiente.

      1. Defina as variáveis de ambiente do Hadoop.

        vim /etc/profile
        export HADOOP_HOME=/usr/local/hadoop
        export PATH=$HADOOP_HOME/bin:$PATH
        source /etc/profile
      2. Atualize a variável HADOOP_HOME no arquivo de configuração do Hadoop.

        cd $HADOOP_HOME
        vim etc/hadoop/hadoop-env.sh
      3. Substitua ${JAVA_HOME} pelo caminho real.

        export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    5. Opcional:Se o diretório não existir, execute o comando a seguir para aplicar as novas variáveis de ambiente.

      cd $HADOOP_HOME/etc/hadoop
    6. Atualize os arquivos de configuração core-site.xml e hdfs-site.xml.

      • Atualize o arquivo core-site.xml com as propriedades a seguir.

        <configuration>
          <!-- Specify the address of the NameNode in HDFS. -->
          <property>
              <name>fs.defaultFS</name>
              <!-- Replace the value with your hostname or localhost. -->
              <value>hdfs://localhost:9000</value>
          </property>
        
          <!-- Change the temporary directory of Hadoop to a custom directory. -->
          <property>
              <name>hadoop.tmp.dir</name>
              <!-- As the admin user, grant permissions to the directory by running sudo chown -R admin:admin /opt/module/hadoop-3.4.0 -->
              <value>/opt/module/hadoop-3.4.0/data/tmp</value>
          </property>
        </configuration>
      • Atualize o arquivo hdfs-site.xml com a propriedade a seguir.

        <configuration>
          <!-- Specify the number of HDFS replicas. -->
          <property>
              <name>dfs.replication</name>
              <value>1</value>
          </property>
        </configuration>
    7. Formate o NameNode.

      hdfs namenode -format
    8. Inicie o HDFS.

      Iniciar o HDFS envolve iniciar o NameNode, o DataNode e o Secondary NameNode.

      1. Inicie os processos daemon do HDFS:

        cd /usr/local/hadoop/
        sbin/start-dfs.sh
      2. Verifique os processos Java em execução.

        jps

        O resultado retornado será semelhante ao seguinte:

        hdfs

        Os processos daemon do HDFS estão agora em execução. Acesse a interface web do HDFS em http://{ip}:9870 para visualizar informações detalhadas.

  4. Verifique a instalação do Hadoop.

    Execute o comando hadoop version. Se as informações de versão forem retornadas, a instalação foi bem-sucedida.

Etapa 3: Configure o JindoSDK para acessar o OSS-HDFS

  1. Baixe o pacote JAR do JindoSDK.

    1. Acesse o diretório de destino.

      cd /usr/lib/
    2. Baixe a versão mais recente do pacote JAR do JindoSDK. Para links de download, consulte o GitHub.

    3. Extraia o pacote JAR do JindoSDK.

      tar zxvf jindosdk-x.x.x-linux.tar.gz
      Nota
  2. Configure as variáveis de ambiente.

    1. Edite o arquivo de configuração de perfil.

      vim /etc/profile
    2. Defina a variável de ambiente JINDOSDK_HOME.

      export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux
    3. Configure o HADOOP_CLASSPATH.

      export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*
    4. Execute o comando a seguir para aplicar a nova configuração.

      . /etc/profile
  3. Configure a classe de implementação do JindoSDK e a AccessKey.

    1. Adicione a classe de implementação do JindoSDK ao arquivo core-site.xml do Hadoop.

      <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. Adicione o AccessKey ID e o AccessKey Secret do bucket com OSS-HDFS ativado ao arquivo core-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. Configure o endpoint do OSS-HDFS.

    É necessário configurar um endpoint para acessar o OSS-HDFS. O formato de URI recomendado é oss://<Bucket>.<Endpoint>/<Object>, por exemplo, oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt. Após a configuração, o JindoSDK usa o endpoint no caminho de acesso para chamar a API apropriada do OSS-HDFS.

    Também é possível configurar o endpoint do OSS-HDFS por outros métodos. Para mais informações, consulte Outros métodos para configurar um endpoint.

Etapa 4: Acessar o OSS-HDFS

  • Crie um diretório

    hdfs dfs -mkdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • Fazer upload de um objeto

    hdfs dfs -put /root/workspace/examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • Visualize informações do diretório

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • Visualize informações do objeto

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • Visualize o conteúdo do objeto

    Importante

    Este comando exibe o conteúdo do objeto como texto simples. Se o conteúdo estiver codificado, use a API Java do HDFS para ler o objeto e decodificá-lo.

    hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • Copiar um diretório ou objeto

    hdfs dfs -cp oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir1/  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir2/subdir1/
  • Mover um diretório ou objeto

    hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir/  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir/
  • Baixe um objeto

    hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • Exclua um diretório ou objeto

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