本文将指导您快速部署和使用阿里云文件存储HDFS版。您需要先创建文件存储HDFS版文件系统并完成挂载操作。部署成功后,您就可以像在Hadoop分布式文件系统(Hadoop Distributed File System)中一样管理和访问数据。

前提条件

  • 已开通文件存储HDFS版服务。具体操作,请参见开通文件存储HDFS版服务
  • 已购买ECS实例。更多信息,请参见选购ECS实例

    本文使用的ECS实例地域在华东1(杭州)地域。

  • 已为ECS实例安装JDK,且JDK版本不低于1.8。
  • 已为ECS实例安装Hadoop客户端,建议您使用的Hadoop版本不低于2.7.2。

    本文使用的Hadoop版本为Apache Hadoop 2.7.2。

步骤一:创建文件系统

您可以通过文件存储HDFS版控制台创建文件系统或调用CreateFileSystem创建文件系统。

  1. 登录文件存储HDFS版控制台
  2. 在顶部菜单栏选择要创建文件系统实例的区域。例如华东1(杭州)
  3. 概览页面,单击创建文件系统
    说明
    • 单个文件系统容量上限为1 EiB。
    • 每个账号在单个地域内最多可以创建3个文件系统。
  4. 创建文件系统页面,配置如下必要参数。其他参数请您根据实际业务需求选择或选用默认配置。
    参数 说明
    可用区 下拉选择相应的可用区。
    文件系统名称 输入想要创建的文件系统的名称。文件系统命名规则如下:
    • 全局唯一且不能为空字符串。
    • 长度为6~64个字符。
    • 支持英文字母,可包含数字、下划线(_)和短划线(-)。
    协议类型 选择HDFS协议。
    存储类型 选择标准型
    文件系统容量(单位 GB) 输入您预期要配置的文件系统容量,防止使用超出预期的空间容量。配置的文件系统容量不用作计费依据。
    说明
    • 只允许输入正整数来设置文件系统容量。
    • 文件系统创建后,您还可以修改该文件系统容量。更多信息,请参见修改文件系统
    吞吐模式 选择标准吞吐预置吞吐,预置吞吐取值范围为1~1024 MiB/s。请根据需求选择。
  5. 单击确定,完成文件系统的创建。
    如果新创建的文件系统未在列表中显示,请刷新此页面。
    说明 初始情况下,每个阿里云账号都会自动生成一个VPC默认权限组,允许同一VPC网络下的任何IP地址通过该挂载点访问文件系统。您也可以根据业务场景创建权限组。具体操作,请参见创建权限组和规则

步骤二:创建挂载点

挂载点是文件存储HDFS版文件系统在网络环境中的连接点,通过挂载点实现数据传输。

  1. 返回HDFS控制台,选择文件系统
  2. 单击刚创建的文件系统,选择挂载点页签。
  3. 单击添加挂载点
  4. 添加挂载点页面,配置如下参数。
    参数 说明
    挂载点类型 选择VPC。
    权限组 根据需求选择权限组。

    初始情况下,每个账号都会自动生成一个VPC默认权限组,允许同一VPC网络下的任何IP地址通过该挂载点访问文件系统。您也可以根据业务场景创建权限组。具体操作,请参见创建权限组和规则

    VPC网络ID 选择已创建的VPC网络。如果还未创建,请前往VPC控制台创建。
    VPC网络交换机ID 选择VPC网络下创建的交换机。
  5. 配置完成后,单击确定

步骤三:挂载文件系统

在使用文件系统前,您还需要通过挂载点挂载文件存储HDFS版文件系统。

  1. 连接ECS实例。连接方式,请参见连接ECS实例
  2. 配置core-site.xml。
    1. 执行如下命令打开core-site.xml文件。
      vim /usr/local/hadoop-x.y.z/etc/hadoop/core-site.xml

      其中,x.y.z为Hadoop版本号,请根据实际替换。

    2. core-site.xml文件中,配置如下信息。
      <property>
           <name>fs.defaultFS</name>
           <value>dfs://f-xxxxxxxx.cn-xxxxx.dfs.aliyuncs.com:10290</value>
      </property>
      <property>
           <name>fs.dfs.impl</name>
           <value>com.alibaba.dfs.DistributedFileSystem</value>
      </property>
      <property>
           <name>fs.AbstractFileSystem.dfs.impl</name>
           <value>com.alibaba.dfs.DFS</value>
      </property>

      其中,f-xxxxxxxx.cn-xxxxx.dfs.aliyuncs.com为文件存储HDFS版挂载点地址,请根据实际情况替换。

      注意 如果fs.defaultFS属性的<value>值中包含hdfs://,请将其相应替换为dfs://
    3. 可选:调整core-site.xml配置,优化集群性能(例如,io.file.buffer.sizedfs.connection.count等),示例如下。更多有关文件存储HDFS版性能优化方法,请参见性能优化最佳实践
      <property>
           <name>io.file.buffer.size</name>
           <value>4194304</value>
           <description>To achieve high throughput, no less than 1MB, no more than 8MB</description>
      </property>
      <property>
           <name>dfs.connection.count</name> 
           <value>1</value>
           <description>If multi threads in the same process will read/write to DFS, set to count of threads</description>
      </property>
    4. core-site.xml文件同步到所有依赖hadoop-common的节点上。
  3. 部署文件存储HDFS版Java SDK。
    1. 下载最新的文件存储HDFS版Java SDK
    2. 将下载的文件存储HDFS版Java SDK部署到Hadoop生态系统组件的CLASSPATH路径下(推荐部署在hadoop-common-x.y.x.jar目录中)。
      说明 Hadoop版本不低于2.7.2。
  4. 使用hadoop fs命令行工具,执行hadoop fs -ls /命令验证部署,如下图所示。
    命令验证

    如果未报错,则部署成功。

步骤四:上传下载数据

部署成功后,您可以在ECS上把HDFS文件系统当做Hadoop分布式文件系统来访问和使用。

常见问题

  • 什么是文件存储HDFS版?适用什么场景?

    文件存储HDFS版是面向阿里云ECS实例及容器服务等计算资源的文件存储服务。文件存储HDFS版兼容了标准的Hadoopfs协议接口,使您无需对现有大数据分析应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、高可靠和高可用的分布式文件系统。相比自建HDFS存储,使用文件存储HDFS版服务可以大量节约维护成本,降低数据安全风险。

    文件存储HDFS版适用于互联网行业、金融行业等有大数据计算与存储分析需求的行业客户进行海量数据存储和离线计算的业务场景,充分满足以Hadoop为代表的分布式计算业务类型对分布式存储性能、容量和可靠性的多方面要求。

  • 开通文件存储HDFS版服务后,就开始计费吗?

    仅开通文件存储HDFS版服务,不会产生费用。当您在文件存储HDFS版中写入文件数据产生实际存储容量,则开始计费。

  • 文件系统用于计费的计费存储量是如何计算的?
    按每小时计费存储量的最大值(峰值)计费。
    • 计费存储量=MAX[核算存储量,实际存储量]
    • 实际存储量是指文件系统中所有文件大小的总和(不含目录),包括文件空洞。
    • 核算存储量是指5 MiB×Inode(包括文件和目录)数量获得的存储量。Inode数量可以通过控制台和容量监控获得。