本文档主要介绍文件存储 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-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的内容需要同步到所有依赖
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示例。