当前位置:网站首页>初探JuiceFS
初探JuiceFS
2022-07-27 14:23:00 【wankunde】
说明
个人理解JuiceFS的定位是一个建立在S3, OSS 等存储系统之上的一个抽象文件系统。因为使用Redis来做文件的元数据管理,所以减少了远程调用 S3, OSS API的开销;内部有对数据的Cache功能,所以当重复访问数据时,速度也会得到明显提升。
JuiceFS作为虚拟文件系统层,底层文件是自己管理的,其定位不是其他文件存储系统的读写Proxy。
Juicefs编译
Juice编译设计到的go,java,maven等组件,而且go的编译还需要在对应的平台上进行编译,才能使用,所以参考大佬的做法,使用基础软件 + Go Docker 镜像的方式进行编译。
首先准备好,编译需要的绿色版Java,Maven以及对应的juicefs代码
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
tar -zxvf jdk-8u141-linux-x64.tar.gz
/Users/wankun/Applications/jdk1.8.0_141
使用docker镜像编译,注意,golang的镜像版本最高只能用1.15, 使用1.16 会报一些包找不到的错
# 启动docker golang镜像
docker run -it \
-v /Users/wankun/Applications/jdk1.8.0_141:/java8 \
-v /Users/wankun/Applications/maven:/maven \
-v /Users/wankun/.m2:/root/.m2 \
-v /Users/wankun/ws/wankun/juicefs-0.11.0:/root/juicefs \
--env JAVA_HOME=/java8 \
--env PATH=/java8/bin:/maven/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
golang:1.15.2 /bin/bash
# 编译juicefs
export GOPROXY=https://goproxy.io
make
# 编译hadoop SDK
$ cd sdk/java
$ make
启动 Redis 服务来管理JuiceFS元数据
- 20210330 当前redis版本更新也比较快,所以直接使用了redis的latest version
- redis取消IP bind,改为密码连接校验,参考这里
- docker镜像启动后很奇怪,默认的6379端口无法外部连接,所以使用了26379端口对外提供服务
redis.conf 中相关配置更改
appendonly yes
# bind -- 注释掉bind,改为密码校验
requirepass xxxx
将OSS存储挂载为本地目录读写
Juice通过reformat来初始化底层存储系统,然后将该存储系统挂载到本地,就可以通过JuiceFS 的虚拟文件系统来管理文件了。
# 注意 这里bucket参数实际上是 https://[bucket].[endpoint] 格式, 最后一个参数是该bucket下的目录名; redis的连接地址如果需要密码的话,注意把密码补上
./juicefs format \
--storage oss \
--bucket https://[bucket].[endpoint] \
--access-key [ACC_KEY] \
--secret-key [SEC_KEY] \
redis://:{PASSWORD}@{HOST}:26379/0 \
test-wankun
# 挂载juicefs到本地目录
./juicefs mount -d redis://:{PASSWORD}@{HOST}:26379/0 ~/test-wankun
Hadoop 访问 JuiceFS 存储
将前面的hadoop SDK 放到Hadoop的lib目录( /opt/cloudera/parcels/CDH/lib/hadoop/lib/juicefs-hadoop-0.11.0.jar ),然后修改hadoop配置文件,使hadoop支持对juiceFS的访问。
注意: 官方文档中的 juicefs.accesskey 和 juicefs.secretkey 可以无需配置
<xml>
<property>
<name>fs.jfs.impl</name>
<value>io.juicefs.JuiceFileSystem</value>
</property>
<property>
<name>fs.AbstractFileSystem.jfs.impl</name>
<value>io.juicefs.JuiceFS</value>
</property>
<property>
<name>juicefs.meta</name>
<value>redis://{PASSWORD}:{HOST}:{PORT}/{DB}</value>
</property>
<property>
<name>juicefs.cache-dir</name>
<value>/data*/jfs</value>
</property>
<property>
<name>juicefs.cache-size</name>
<value>1024</value>
</property>
<property>
<name>juicefs.access-log</name>
<value>/tmp/juicefs.access.log</value>
</property>
</xml>
参考
边栏推荐
- 初探STM32掉电复位PDR
- 分布式锁
- MySQL 面试40连问,面试官你再问下去我可要翻脸了
- 魔塔项目中的问题解决
- 两阶段提交与三阶段提交
- Code coverage statistical artifact -jacobo tool practice
- Network device hard core technology insider router Chapter 15 from deer by device to router (Part 2)
- lua学习笔记
- With just two modifications, apple gave styleganv2 3D generation capabilities
- generic paradigm
猜你喜欢

Leetcode 74. search two-dimensional matrix bisection /medium

The design method of integral operation circuit is introduced in detail

Kubernetes CNI classification / operation mechanism

Code coverage statistical artifact -jacobo tool practice
USB interface electromagnetic compatibility (EMC) solution

4种单片机驱动继电器方案

Dialog manager Chapter 3: create controls

reflex

Unity mouse controls the first person camera perspective

修改frameworks资源文件如何单编
随机推荐
Two stage submission and three stage submission
Code coverage statistical artifact -jacobo tool practice
STM32学习之CAN控制器简介
Several basic uses of tl431-2.5v voltage reference chip
修改frameworks资源文件如何单编
LeetCode 190. 颠倒二进制位 位运算/easy
Photoelectric isolation circuit design scheme (six photoelectric isolation circuit diagrams based on optocoupler and ad210an)
Huayun data creates a perfect information technology and innovation talent training system to help the high-quality development of information technology and innovation industry
Network equipment hard core technology insider router Chapter 6 tompkinson roaming the online world (middle)
Network equipment hard core technology insider router chapter Cisco asr9900 disassembly (I)
光电隔离电路设计方案(六款基于光耦、AD210AN的光电隔离电路图)
《剑指Offer》 链表反转
反射
ADB command (install APK package format: ADB install APK address package name on the computer)
仪表放大器和运算放大器优缺点对比
魔塔项目中的问题解决
Adaptation verification new occupation is coming! Huayun data participated in the preparation of the national vocational skill standard for information system adaptation verifiers
LeetCode 456. 132模式 单调栈/medium
The reverse order pairs in the "sword finger offer" array
《剑指Offer》剪绳子