如何创建采用IST时区的Google Dataproc集群
创建采用IST时区的Google Dataproc集群步骤与配置
尽管将Dataproc集群区域设置为asia-south1,系统默认仍会使用UTC时区。以下是手动配置为IST(Asia/Kolkata,UTC+5:30)的完整步骤:
一、命令行方式创建(推荐)
使用gcloud命令直接创建集群并同步配置系统与组件时区:
gcloud dataproc clusters create CLUSTER_NAME \ --region asia-south1 \ --initialization-actions gs://dataproc-initialization-actions/set-timezone/set-timezone.sh \ --metadata timezone=Asia/Kolkata \ --properties spark.driver.extraJavaOptions="-Duser.timezone=Asia/Kolkata",spark.executor.extraJavaOptions="-Duser.timezone=Asia/Kolkata",hadoop-env:HADOOP_OPTS="-Duser.timezone=Asia/Kolkata"
参数说明:
--initialization-actions:调用Dataproc官方初始化脚本,统一设置所有节点的系统时区--metadata timezone=Asia/Kolkata:向初始化脚本传递目标时区参数--properties:配置Spark驱动/执行器、Hadoop的JVM时区,确保组件日志、作业时间戳均使用IST
二、控制台(Web UI)方式创建
- 进入Google Cloud控制台的Dataproc集群创建页面,选择区域为
asia-south1 - 导航至初始化动作模块,点击「添加初始化动作」,填入脚本路径:
gs://dataproc-initialization-actions/set-timezone/set-timezone.sh - 切换至元数据模块,添加键值对:
timezone=Asia/Kolkata - 进入集群属性模块,依次添加以下配置:
- 键:
spark.driver.extraJavaOptions,值:-Duser.timezone=Asia/Kolkata - 键:
spark.executor.extraJavaOptions,值:-Duser.timezone=Asia/Kolkata - 键:
hadoop-env:HADOOP_OPTS,值:-Duser.timezone=Asia/Kolkata
- 键:
- 完成其他基础配置(机器类型、节点数量等)后,点击「创建集群」
三、验证时区配置生效
- 登录集群主节点:
gcloud compute ssh CLUSTER_NAME-m --region asia-south1 - 验证系统时区:
输出应包含dateIST标识,例如:Wed Oct 11 14:35:22 IST 2023 - 验证Spark时区:
输出应为spark-shell -c "println(java.util.TimeZone.getDefault().getID())"Asia/Kolkata - 验证Hadoop时区:
或查看Hadoop配置文件确认时区参数已生效hadoop org.apache.hadoop.util.Tool -Duser.timezone=Asia/Kolkata print
内容的提问来源于stack exchange,提问作者Ravi Jain
相关产品推荐
相关产品推荐

