上云无忧 > 文档中心 > 百度智能云对象存储BOS工具 - BOSHDFS配置和使用
对象存储BOS
百度智能云对象存储BOS工具 - BOSHDFS配置和使用

文档简介:
您只需下载相应的SDK包,修改部分配置即可使用BOS HDFS工具。 下载 BOS FS JAR,将解压后的jar包复制到 $hadoop_dir/share/hadoop/common中。其中MD5 = afc2738e0dabcda9d5d025ef9845062e。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

您只需下载相应的SDK包,修改部分配置即可使用BOS HDFS工具。

下载

  • 下载 BOS FS JAR,将解压后的jar包复制到 $hadoop_dir/share/hadoop/common中。其中MD5 = afc2738e0dabcda9d5d025ef9845062e。
  • 下载 依赖的jar包,将解压后的jar包复制到$hadoop_dir/share/hadoop/common/lib/中,其中Java SDK的版本必须为V0.10.82或以后版本,httpclient和httpcore包需要替换原lib目录下的旧包,防止冲突,其他jar包直接放在lib目录下即可。

使用前准备

  • 在Hadoop配置路径中修改 log4j.properties,调整BOS SDK的日志配置:log4j.logger.com.baidubce.http=WARN
  • 在$hadoop_dir/etc/core-site.xml文件中添加或者修改BOS HDFS相关配置。


<property> <name>fs.bos.access.key</name> <value>{Your AK}</value> </property> <property> 
<name>fs.bos.secret.access.key</name> <value>{Your SK}</value> </property> <property>
 <name>fs.bos.endpoint</name> <value>http://bj.bcebos.com</value> </property> <property> <name>fs.bos.impl</name> 
<value>org.apache.hadoop.fs.bos.BaiduBosFileSystem</value> </property> <property> <name>fs.bos.multipart.uploads.attempts
</name> <value>5</value> </property> <property> <name>fs.bos.multipart.uploads.block.size</name> <value>9437184</value> 
</property> <property> <name>fs.bos.multipart.uploads.concurrent.size</name> <value>3</value> </property> <property> 
<name>fs.bos.multipart.uploads.factor</name> <value>10.0</value> </property> <property> <name>fs.bos.multipart.uploads.speed
</name> <value>10485760</value> </property>


开始使用

使用BOS HDFS访问BOS服务时路径需要以bos://开始。如:

$ hdfs dfs -ls bos://{bucket}/
$ hdfs dfs -put ${local_file} bos://{bucket}/a/b/c

或者,在$hadoop_dir/etc/core-site.xml下配置默认文件目录

<property> <name>fs.defaultFS</name> <value>bos://{bucket}</value> </property>

就像使用原生hdfs那样:

$ hdfs dfs -ls /

一次wordcount的实践

1. 创建数据目录

用于保存MapReduce任务的输入文件

$ hdfs dfs -mkdir -p bos://test-979/data/wordcount

用于保存MapReduce任务的输出文件

$ hdfs dfs -mkdir bos://test-979/output

查看这两个新创建的目录

$ hdfs dfs -ls bos://test-979/
Found 2 items
drwxrwxrwx   - 0 1970-01-01 08:00 bos://test-979/data
drwxrwxrwx   - 0 1970-01-01 08:00 bos://test-979/output

如果想要显示文件夹的准确创建时间,可以在$hadoop_dir/etc/core-site.xml下配置

<property> <name>fs.bos.object.dir.showtime</name> <value>true</value> </property>

2. 写一个单词文件,并上传到hdfs

单词文件的内容

$ cat words.txt
hello baidu
hello bos
hadoop hdfs
hello hadoop
bos hdfs

上传words.txt到hdfs

$ hdfs dfs -put words.txt bos://test-979/data/wordcount

在hdfs中查看刚刚上传的文件

$ hdfs dfs -cat bos://test-979/data/wordcount/words.txt
hello baidu
hello bos
hadoop hdfs
hello hadoop
bos hdfs

3. 运行wordcount程序

hadoop自带的wordcount程序在$hadoop_dir/share/hadoop/mapreduce/下


$ hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount bos://test-979/
data/wordcount bos://test-979/output/wordcount


4. 查看统计结果

$ hdfs dfs -ls bos://test-979/output/wordcount/
-rw-rw-rw- 1 0 2020-06-12 16:55 bos://test-979/output/wordcount/_SUCCESS
-rw-rw-rw- 1 61 2020-06-12 16:55 bos://test-979/output/wordcount/part-r-00000
$ hdfs dfs -cat bos://test-979/output/wordcount/part-r-00000
baidu 1 bos 2 hadoop 2 hdfs 2 hello 3

使用进阶

由于自建Hadoop集群的可拓展性有限,且需要大量人力对集群进行运维,如果您对性能及安全性有更高要求,推荐使用百度智能云提供的 百度 MapReduce(BMR)。BMR 是全托管的 Hadoop/Spark 集群,您可以按需部署并弹性扩展集群,只需专注于大数据处理、分析、报告,拥有多年大规模分布式计算技术积累的百度运维团队全权负责集群运维,能够在性能,安全性和便捷性上有大幅提升。

相似文档
  • Alluxio是一个开源的基于内存的分布式存储系统(a memory speed virtual distributed storage system)。 在大数据生态系统中,Alluxio 位于数据驱动框架或应用(如 Apache Spark等)和各种持久化存储系统(如BOS、HDFS、S3等)之间。
  • BOSFTP是一个基于Python实现的BOS的FTP server工具,将FTP协议的操作转化为对BOS中存储的对象、目录的操作。支持文件上传、下载、删除以及创建文件夹等操作。
  • 说明:第三方工具主要由论坛的第三方开发者提供,由于这些工具并非官方提供,可能会存在一些bug,请大家谨慎使用。 目前BOS支持的第三方工具有:wordpress插件、Discuz插件、UCenter插件和Python flash。
  • 为了方便用户使用百度智能云存储服务的API,BCE提供了可以通过命令行工具BCE CLI(Command Line Interface)调用BOS服务的方式,该工具基于BCE Python SDK实现。
  • 前提条件: BOS CLI命令行工具(即BCE CLI)基于Python 2.7开发,根据操作系统安装相应Python 2.7,目前支持Windows 和Linux。 操作步骤: 1.准备Python环境。 Windows环境: 在Python官网下载python27.msi后,双击安装。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部