PS:文章一般都会先首发于我的个人Blog上:S3FS 简介及部署 · TonghuaRoot's BloG. ,有需要的小伙伴可以直接订阅我的Blog,获取最新内容。

0x00 前言

S3FS可以把S3 Bucket可以向挂盘一样,挂在本地,适用于Linux和Mac OS,完事复制粘贴写文件啥的跟普通的文件夹几乎没啥差别,体验很棒。
当然,也有一些缺点,这个后面再说。(如果你遇不到它,那就是没缺点,大雾hhh)

0x01 实验环境

  • Amazon Linux 2

0x02 操作步骤

  1. 安装
    sudo amazon-linux-extras install epel
    sudo yum install s3fs-fuse
  2. 挂载
    s3fs s3fs-tonghua s3fs_local #(前面是桶名,后面是本地需要挂载到的目录)

如果向上面那么玩,你使用中国区的S3的话,那一定是不成功的。通过debug信息我们可以看到其把请求打到global去了,“那前朝的剑,斩本朝的官”,那自然是行不通的,我们要把region改到中国来。

s3fs s3fs-tonghua s3fs_local -o dbglevel=info -f -o curldbg # 开启debug日志

可以通过如下方式修改endpoint,可以看到已经成功了。

[root@ip-10-0-0-64 /]# s3fs s3fs-tonghua s3fs_local -o url=https://s3.cn-north-1.amazonaws.com.cn                       [root@ip-10-0-0-64 /]# cd s3fs_local/
[root@ip-10-0-0-64 s3fs_local]# ls
test01_no_version.txt
[root@ip-10-0-0-64 s3fs_local]#

这种情况下,如果我机器重启了,那挂载的S3就没了。所以我们要给他换成/etc/fstab,保证其重启后也无需重新下载。

[ec2-user@ip-10-0-0-64 s3fs_local]$ cat /etc/fstab
#
UUID=8a9e0fcb-f415-4a3f-931d-919fadf8e22c / xfs defaults,noatime 1 1
s3fs#s3fs-tonghua /s3fs_local fuse _netdev,nonempty,allow_other,use_path_request_style,url=https://s3.cn-north-1.amazonaws.com.cn 0 0
[ec2-user@ip-10-0-0-64 s3fs_local]$配置

以上就完成了S3FS的配置。

0x03 说说S3FS的利弊

S3FS本质上是对象存储,其跟块存储还是有区别的,块存储我如果修改一个大文件的话,背后只修改对应的block,但是S3就不一样了,如果我传一个超大的文件,几个G或者T的,那他是会整个往S3传的,既费钱还有一致性的问题。
然后如果我读写频率太高的话,还容易被服务限制。
关于其缺点的话,官方文档说的也比较清楚了,我这头就不再赘述,有兴趣的同学可以去看看:https://github.com/s3fs-fuse/s3fs-fuse

0x04 总结

试了下S3FS,有的场景确实很方便,具体使用的话还是要结合自身业务场景,选择合适的数据传输、存储方式。

0x05 参考链接

[转帖]S3FS 简介及部署的更多相关文章

  1. 深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署

    前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring.MyBatis.Dubbo 等框架以及Log4j 等结合,支持P ...

  2. Shark简介、部署及编译小结

    http://blog.csdn.net/pelick/article/details/11964291 Shark简介 Shark即Hive on Spark,本质上是通过Hive的HQL解析,把H ...

  3. apigateway-kong(一)简介及部署

    时隔三年,本人重出江湖,哈哈哈 浏览之前写的博客,有些深度还不是太够.篇幅太短,并且很多专题没有坚持写下去,部分技(dai)术(ma)没有从业务中抽离出来,本人感觉好遗憾--为此,痛下决心,重拾博客, ...

  4. LAMP简介与部署

    lamp简介 lamp,是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是 ...

  5. dubbo + zookeeper 简介和部署

    Dubbo简介: Dubbo 是阿里巴巴公司开源(以前不开源)的一个高性能优秀的服务框架, 使得应用可通过高性能的 RPC 实现服务的输入和输出功能, 可以和spring框架无缝集成. 那么这里, 啥 ...

  6. Hadoop入门第五篇:Hive简介以及部署

    标签(空格分隔): Hadoop Hive hwi 1.Hive简介   之前我一直在Maxcompute上进行大数据开发,所以对数仓这块还算比较了解,在接受Hive的时候基本上没什么大的障碍.所以, ...

  7. 【原创】Airflow 简介&如何部署一个健壮的 apache-airflow 调度系统

    声明 本文摘录了很多前辈的文章,原文如下: https://www.jianshu.com/p/2ecef979c606 Airflow 简介 Airflow是一个可编程,调度和监控的工作流平台,基于 ...

  8. [转帖]龙芯服务器部署WEB服务的体验和详细步骤

    龙芯服务器部署WEB服务的体验和详细步骤 2019年01月02日 18:40:34 weixin_40065369 阅读数 1733   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...

  9. Docker 容器简介与部署

    关于Docker容器技术 参考文献:<docker 从入门到精通> Docker容器简介 Docker的构想是要实现 "Build,Ship and Run Any App,An ...

  10. 01 . 分布式存储之FastDFS简介及部署

    分布式存储简介 现代的互联网已经进入大数据时代,每天都有数以万计的数据产生,这些数据的规模轻轻松松地可以达到几P的级别,传统的的单机存储早已捉襟见肘,根本无法满足大数据对存储系统的要求.这时,各种分布 ...

随机推荐

  1. C++通过文件指针获取文件大小

    目录 1. 叙述 2. 结论 1. 叙述 对于读取本地文件,很多时候需要预先知道本地文件的大小在进行读取.网上给出的方案是移动文件指针,计算文件头和文件尾的偏移,计算出文件的大小.但是我总觉得这样做可 ...

  2. Windows下编译并使用64位GMP

    目录 1. 概述 2. 编译 2.1. GCC环境 2.2. 编译过程 3. 使用 3.1. 调用 3.2. 示例 4. 参考 1. 概述 GMP是一个开源的数学运算库,它可以用于任意精度的数学运算, ...

  3. 揭秘华为云GaussDB(for Redis)丨大key治理

    本文分享自华为云社区<华为云GaussDB(for Redis)揭秘第31期:大key治理>,作者: 高斯Redis官方博客. 从DBA的视角看,大Key无疑是引起Redis线上问题的常见 ...

  4. 你应该知道的数仓安全——默认权限实现共享schema

    摘要: 一种典型客户场景是一些用户是数据的生产方,需要在schema中创建表并写入数据:而另一些用户是数据的消费方,读取schema中的数据做分析.使用Alter default privilege语 ...

  5. 带你上手全新版本的Webpack 5

    摘要:webpack5快速入门,船新版本,建议收藏 本文分享自华为云社区<webpack5快速入门,船新版本,建议收藏>,作者:北极光之夜.. 一. 快速上手 1.1 Webpack功能: ...

  6. 使用 Python Poetry 进行依赖管理

    摘要:在本教程中,您探索了如何创建新的 Python Poetry 项目以及如何将 Poetry 添加到现有项目中. 本文分享自华为云社区<使用 Python Poetry 进行依赖管理> ...

  7. 火山引擎 ByteHouse:双十一即将到来,如何用数据分析提升电商平台销售转化?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 "双十一"电商大促脚步渐近,各大平台的战火又将燃起.直播电商以低成本.高转化率等优势备受商家青 ...

  8. 火山引擎VeDI最新分享:消费行业的数据飞轮从“四更”开始

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数据飞轮,正在为消费行业的数字化升级提供一套全新模式.   在刚刚结束的<全链路增长:数据飞轮转动消费新生力 ...

  9. RandomAccessFile 读写文件

    将目录下的N个日志文件读写到一个文件中. @Test void verification() throws Exception { File f = new File("D:\\Logs&q ...

  10. POJ:3660 Cow Contest (传递闭包 + Floyd)

    POJ 3660 http://poj.org/problem?id=3660 思路: 传递闭包 输入A > B,那么我们可以建立一套A ->B 的边. 然后求出传递闭包. 判断一个人是否 ...