Skip to main content

阿里云 EMR

新建 EMR 集群集成 JuiceFS

  1. 在 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"
}
]
  1. 在基础信息界面的高级设置里面添加引导操作

下载 emr-boot 脚本和 juicefs-hadoop.jar , 并上传到您的对象存储上。

../images/emr-ali-boot.png

脚本位置填写 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.log
  • Hive

    通过 Hive 服务界面修改 hive.metastore.warehouse.dir,可修改 Hive 建表默认位置(非必须):

    jfs://{jfs-name}/{warehouse-dir}

最后,重启相应服务让配置修改生效。