通过开源HDFS客户端连接并使用文件引擎
本文介绍如何使用开源HDFS客户端访问文件引擎。
前提条件
已安装Java环境,JDK版本不能低于1.7。
已设置环境变量,假设Java安装位置为
/opt/install/java
。JAVA_HOME=/opt/install/java PATH=/opt/install/java/bin:$PATH
访问文件引擎的节点需要加入Lindorm白名单,添加方法请参见设置白名单。
下载客户端
您可以从Apache官网下载hadoop2.7.3版本SDK hadoop-2.7.3.tar.gz
。
配置Hadoop
下载
hadoop-2.7.3
发布包。执行
tar -zxvf hadoop-2.7.3.tar.gz
命令,解压缩SDK包 。执行
export HADOOP_HOME=/installDir/hadoop-2.7.3
命令,设置环境变量。执行
cd $HADOOP_HOME
命令,进入hadoop目录。修改
etc/hadoop/hadoop-env.sh
文件,并添加准备运行环境章节中设置的JAVA_HOME
, 假设Java安装在/opt/install/java
。# set to the root of your Java installation export JAVA_HOME=/opt/install/java
修改
etc/hadoop/hdfs-site.xml
文件,hdfs-site.xml
文件中需要修改的内容如下所示,其中实例ID需要替换为真实的实例ID。<configuration> <property> <name>dfs.nameservices</name> <value>${实例ID}</value> </property> <property> <name>dfs.client.failover.proxy.provider.${实例ID}</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>dfs.ha.namenodes.${实例ID}</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.${实例ID}.nn1</name> <value>${实例ID}-master1-001.lindorm.rds.aliyuncs.com:8020</value> </property> <property> <name>dfs.namenode.rpc-address.${实例ID}.nn2</name> <value>${实例ID}-master2-001.lindorm.rds.aliyuncs.com:8020</value> </property> </configuration>
说明
您可以在Lindorm控制台->文件引擎中单击一键生成配置项按钮自动生成配置文件,详情请参见开通指南。
常用操作示例
上传本地文件。
创建目录。
$HADOOP_HOME/bin/hadoop fs -mkdir hdfs://${实例ID}/test
准备一个文件,将其上传到文件引擎。
echo "test" > test.log $HADOOP_HOME/bin/hadoop fs -put test.log hdfs://${实例ID}/test
查看上传的文件。
$HADOOP_HOME/bin/hadoop fs -ls hdfs://${实例ID}/test
下载文件到本地。
$HADOOP_HOME/bin/hadoop fs -get hdfs://${实例ID}/test/test.log
说明其中实例ID请替换为真实的实例ID。