本文档主要介绍文件存储 HDFS 版文件系统SDK的安装及使用方式。
前提条件
背景信息
本文以hadoop-mapreduce-examples为例,介绍文件系统SDK的使用方式。其中MapReduce以伪分布式方式运行。有关MapReduce的伪分布方式,请参见Apache Hadoop。
配置Hadoop
本节以Hadoop 2.7.2版本为例,介绍如何配置Hadoop。
-
下载Hadoop,建议版本不低于2.7.2。
-
执行以下命令,解压Hadoop压缩包。
tar -zxf hadoop-2.7.2.tar.gz -
执行以下命令,设置Hadoop工作环境变量。
export HADOOP_HOME=yourWorkingDir/hadoop-2.7.2 -
执行
cd hadoop-2.7.2命令,进入Hadoop目录。 -
配置hadoop-env.sh文件。
-
执行以下命令,打开hadoop-env.sh文件。
vim etc/hadoop/hadoop-env.sh -
配置
JAVA_HOME。# ${JAVA_HOME}为您ECS的Java JDK的路径,请根据实际路径进行替换。 export JAVA_HOME=${JAVA_HOME}
-
-
配置core-site.xml文件,修改core-site.xml文件中需要修改的内容。
-
执行以下命令,打开core-site.xml文件。
vim etc/hadoop/core-site.xml -
在core-site.xml文件中,配置如下信息。
<property> <name>fs.defaultFS</name> <value>dfs://f-xxxx.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-xxxx.cn-xxxxx.dfs.aliyuncs.com为文件存储 HDFS 版挂载点地址,请根据实际值替换。在 HDFS 文件系统详情页,单击挂载点页签,在挂载点列表的挂载地址列获取文件系统的挂载地址(格式类似xxx.cn-hangzhou.dfs.aliyuncs.com),该地址将用于 core-site.xml 中的文件系统配置。 -
core-site.xml的内容需要同步到所有依赖
hadoop-common的节点上。
-
-
部署依赖
-
下载最新的文件存储 HDFS 版的文件系统Java SDK。
-
将下载的SDK拷贝至Hadoop生态系统组件的CLASSPATH上。
推荐将其部署到hadoop-common-x.y.z.jar所在的目录内,并复制到所有Hadoop节点。对于MapReduce组件,该目录为${HADOOP_HOME}/share/hadoop/hdfs,命令示例如下。
cp aliyun-sdk-dfs-x.y.z.jar ${HADOOP_HOME}/share/hadoop/hdfs其中,
x.y.z为文件系统SDK的版本号,请根据实际版本号替换。
验证安装
请执行以下步骤验证安装。
-
准备数据。
-
运行以下命令创建目录。
${HADOOP_HOME}/bin/hadoop fs -mkdir -p inputDir -
运行以下命令上传文件(例如,上传a.txt文件)。
${HADOOP_HOME}/bin/hadoop fs -put a.txt inputDir/
-
-
重启YARN服务。
-
关闭YARN服务。
${HADOOP_HOME}/sbin/stop-yarn.sh -
开启YARN服务。
${HADOOP_HOME}/sbin/start-yarn.sh
-
-
执行样例测试。
-
WordCount样例
${HADOOP_HOME}/bin/hadoop jar \ ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount \ inputDir outputDir -
Grep样例
${HADOOP_HOME}/bin/hadoop jar \ ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep \ inputDir outputDirGrep "the"
-
后续步骤
关于通过Hadoop FileSystem API接口方式使用文件存储 HDFS 版文件系统的操作示例,请参见SDK示例。