本文为您介绍火山引擎 E-MapReduce(EMR)集群 使用 Proton + TOS加速器 实现存算分离缓存模式。
在“接入点”——“单区域接入点”中,点击“创建单区域接入点”。
接入点名称建议采取{bucket}-accelerator的形式,存储桶列表中选择接入点绑定的桶名字,这个桶就是未来被加速器加速的桶
Proton访问TOS加速器需经过TOS认证,支持3种认证方式:Assume Role、静态AKSK、环境变量AKSK。详细内容参考Hadoop 使用 Proton--E-MapReduce-火山引擎。
TOS加速器需要使用接入点域名访问,在存算分离架构下,接入点域名被映射为特殊的集群名。例如原始的文件路径为tos://{bucket_name}/datawarehouse/database/table,加速器接入点的路径为tos://{access_point_name}/datawarehouse/database/table。
bucket-accelerator-0197ca6c5e44759faf****-tosalias.tos-cn-beijing.ivolces.com。{accelerator_name}.tos-{region}.ivolces.com。bucket-accelerator-0197ca6c5e44759faf****-tosalias。hadoop fs -ls tos://bucket-accelerator-0197ca6c5e44759faf****-tosalias/
修改hms的warehouse路径,使得新建database的默认location指向加速器。如下配置项需要在EMR管控页面进行配置修改,修改完成后重启Hive MetaStore和Hive Server2。
// 旧 hive.metastore.warehouse.dir=tos://{bucket}/warehouse/managed hive.metastore.warehouse.external.dir=tos://{bucket}/warehouse/external // 新 hive.metastore.warehouse.dir=tos://{bucket-accelerator}/warehouse/managed hive.metastore.warehouse.external.dir=tos://{bucket-accelerator}/warehouse/external
修改spark的warehoue路径,从而使用spark建库时,新建库的location默认指向加速器。如下配置项需要在EMR管控页面进行配置修改。
// 旧 spark.sql.warehouse.dir=tos://{bucket}/warehouse/managed // 新 spark.sql.warehouse.dir=tos://{bucket-accelerator}/warehouse/managed
修改存量database的location指向加速器,从而新建表默认的location会指向加速器。启动hive终端,执行如下命令。
ALTER DATABASE {YOUR_DB} SET LOCATION 'tos://{bucket-accelerator}/warehouse/managed/{your.db}/'
修改存量表的location指向加速器。启动hive终端,执行如下命令。
ALTER TABLE {YOUR_TBL} SET LOCATION 'tos://{bucket-accelerator}/warehouse/managed/{your.db}/{your_table}'