本文将帮助您快速部署和使用阿里云文件存储 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下载地址,请参见Hadoop Releases。
本文使用的Hadoop版本为Apache Hadoop 2.7.2。
操作视频
步骤一:创建文件系统
您可以通过文件存储 HDFS 版控制台创建文件系统或调用CreateFileSystem创建文件系统。
登录文件存储HDFS版控制台。
在顶部菜单栏选择要创建文件系统实例的区域。例如华东1(杭州)。
在概览页面,单击创建文件系统。
说明单个文件系统容量上限为1 EiB。
每个账号在单个地域内最多可以创建3个文件系统。
在创建文件系统面板,配置如下必要参数。其他参数请您根据实际业务需求选择或选用默认配置。
参数
说明
可用区
下拉选择相应的可用区。
同一地域不同可用区之间文件系统与计算节点互通。若要获取最高性能,请使用同一可用区内的文件系统与计算节点。
文件系统名称
输入想要创建的文件系统的名称。文件系统命名规则如下:
全局唯一且不能为空字符串。
长度为6~64个字符。
支持英文字母,可包含数字、下划线(_)和短划线(-)。
协议类型
选择HDFS协议。
存储类型
选择标准型。
文件系统容量(单位 GiB)
输入您预期要配置的文件系统容量,防止使用超出预期的空间容量。配置的文件系统容量不用作计费依据。
说明只允许输入大于等于1024的正整数来设置文件系统容量。默认值为:10240 GiB。
文件系统创建后,您还可以修改该文件系统容量。更多信息,请参见修改文件系统。
吞吐模式
选择标准吞吐或预置吞吐,预置吞吐取值范围为1~5120 MiB/s。请根据需求选择。
单击确定,完成文件系统的创建。
如果新创建的文件系统未在列表中显示,请刷新此页面。
说明初始情况下,每个阿里云账号都会自动生成一个VPC默认权限组,允许同一VPC网络下的任何IP地址通过该挂载点访问文件系统。您也可以根据业务场景创建权限组。具体操作,请参见创建权限组和规则。
步骤二:创建挂载点
挂载点是文件存储 HDFS 版文件系统在网络环境中的连接点,文件系统必须通过挂载点传输数据。
返回文件存储 HDFS 版控制台,选择 。
单击刚创建的文件系统实例,选择挂载点页签。
单击添加挂载点。
在添加挂载点面板,配置如下参数。
配置完成后,单击确定。
步骤三:挂载文件系统
在使用文件系统前,您还需要通过挂载点挂载文件存储 HDFS 版文件系统。
连接ECS实例。连接方式,请参见连接ECS实例。
配置core-site.xml。
执行如下命令打开core-site.xml文件。
vim ${HADOOP_HOME}/etc/hadoop/core-site.xml
如果您尚未配置
${HADOOP_HOME}
,可以使用下面命令将您的Hadoop安装目录配置到该环境变量。export HADOOP_HOME=/your/hadoop/installation/directory
在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 版挂载点地址,请根据实际情况替换。可选:调整core-site.xml配置,优化集群性能。具体方法,请参见性能优化最佳实践。
将core-site.xml文件同步到所有节点上。
部署文件存储 HDFS 版Java SDK。
下载最新的文件存储 HDFS 版Java SDK。
将下载的文件存储 HDFS 版Java SDK部署到HDFS组件的CLASSPATH路径下。
cp aliyun-sdk-dfs-x.y.z.jar ${HADOOP_HOME}/share/hadoop/hdfs
将文件存储 HDFS 版Java SDK同步到所有节点上。
执行以下命令,验证挂载结果。
执行命令
${HADOOP_HOME}/bin/hadoop fs -df
返回示例
如果返回如下类似信息,则表示挂载文件存储 HDFS 版文件系统成功。
Filesystem Size Used Available Use% dfs://f-e389e5c7e****.cn-hangzhou.dfs.aliyuncs.com:10290 10995116277760 0 10995116277760 0% 22/09/20 14:19:04 INFO dfs.DistributedFileSystem: FileSystem close com.alibaba.dfs.DistributedFileSystem@51ee79a3 22/09/20 14:19:04 INFO dfs.DfsClient: DfsClient close Client-6676663918471637276 22/09/20 14:19:04 INFO common.LeaseRenewer: close all files being written 22/09/20 14:19:04 INFO common.LeaseRenewer: LeaseRenwerForClient-6676663918471637276 closed
步骤四:验证挂载
挂载成功后,您可以在ECS上把文件存储 HDFS 版文件系统当做Hadoop分布式文件系统来访问和使用。
常见问题
什么是文件存储 HDFS 版?
文件存储 HDFS 版是面向阿里云ECS实例及容器服务等计算资源的文件存储服务。文件存储 HDFS 版兼容了标准的HadoopFS协议接口,使您无需对现有大数据分析应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、高可靠和高可用的分布式文件系统。相比自建HDFS存储,使用文件存储 HDFS 版服务可以大量节约维护成本,降低数据安全风险。
文件存储 HDFS 版服务适用什么场景?
文件存储 HDFS 版适用于互联网行业、金融行业等有大数据计算与存储分析需求的行业客户进行海量数据存储和离线计算的业务场景,充分满足以Hadoop为代表的分布式计算业务类型对分布式存储性能、容量和可靠性的多方面要求。
开通文件存储 HDFS 版服务后,就开始计费吗?
仅开通文件存储 HDFS 版服务,不会产生费用。当您在文件存储 HDFS 版中写入文件数据产生实际存储容量,则开始计费。
文件系统用于计费的计费存储量是如何计算的?
按每小时计费存储量的最大值(峰值)计费。
计费存储量=MAX[核算存储量,实际存储量]
实际存储量是指文件系统中所有文件大小的总和(不含目录),包括文件空洞。
核算存储量是指5 MiB×Inode(包括文件和目录)数量获得的存储量。Inode数量可以通过控制台和容量监控获得。