阿里云 EMR
新建 EMR 集群集成 JuiceFS
- 在 EMR 软件配置界面配置高级设置
在软件配置 -> 高级设置 -> 软件自定义配置填入以下配置,缓存配置按需修改
[
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"fs.jfs.impl",
"ConfigValue":"com.juicefs.JuiceFileSystem"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"fs.AbstractFileSystem.jfs.impl",
"ConfigValue":"com.juicefs.JuiceFS"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.cache-group",
"ConfigValue":"yarn"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.cache-dir",
"ConfigValue":"/mnt/disk*/jfs"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.cache-size",
"ConfigValue":"1000000"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.discover-nodes-url",
"ConfigValue":"yarn"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.token",
"ConfigValue":""
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.conf-dir",
"ConfigValue":"/etc/juicefs"
},
{
"ServiceName":"HDFS",
"FileName":"core-site",
"ConfigKey":"juicefs.access-log",
"ConfigValue":"/tmp/juicefs.access.log"
}
]
- 在基础信息界面的高级设置里面添加引导操作
下载 emr-boot 脚本和 juicefs-hadoop.jar , 并上传到您的对象存储上。
脚本位置填写 emr-boot.sh 在 OSS 上面的地址
参数填写 juicefs-hadoop-{version}.jar 在 OSS 上面的地址
可以访问公网
--jar oss://{bucket}/resources/juicefs-hadoop-4.5.4.jar --endpoint {endpoint}
或者
--jar https://{bucket}.{endpoint}/resources/juicefs-hadoop-4.5.4.jar无外网连接(私有部署)
由于 JuiceFS 需要联网下载部分必须配置文件来发行服务器的地址,因此在私有环境下(无外网连接),需要将此文件事先准备好。 此配置文件可以在挂载 JuiceFS 的机器上面 /root/.juicefs 下面找到,文件名:{jfs-name}.conf。
将此配置文件同样上传到 OSS 上,然后在引导操作的参数里面填写下面配置:
--jar oss://{bucket}/{jar-path}
--conf-file oss://{bucket}/{conf-file-path}
已有 EMR 集群集成 JuiceFS
Hadoop
通过 HDFS 服务界面修改
core-site.xml
常用配置
fs.jfs.impl=com.juicefs.JuiceFileSystem
fs.AbstractFileSystem.jfs.impl=com.juicefs.JuiceFS
juicefs.cache-size=10240
juicefs.cache-dir=xxxxxx
juicefs.cache-group=yarn
juicefs.discover-nodes-url=yarn
juicefs.accesskey=xxxxxx
juicefs.secretkey=xxxxxx
juicefs.token=xxxxxx
juicefs.access-log=/tmp/juicefs.access.logHive
通过 Hive 服务界面修改
hive.metastore.warehouse.dir
,可修改 Hive 建表默认位置(非必须):jfs://{jfs-name}/{warehouse-dir}
最后,重启相应服务让配置修改生效。