Kafka、Flink、HBase 一键部署:initialization-actions 集群初始化脚本实战指南 📅 发布时间:2026/8/27 14:56:27 👁 浏览次数: Kafka、Flink、HBase 一键部署initialization-actions 集群初始化脚本实战指南【免费下载链接】initialization-actionsRun in all nodes of your cluster before the cluster starts - lets you customize your cluster项目地址: https://gitcode.com/gh_mirrors/in/initialization-actionsinitialization-actions是 Google Cloud Dataproc 官方维护的开源初始化动作Initialization Actions仓库只需一条命令就能在集群启动前自动完成Kafka、Flink、HBase等 Hadoop 生态组件的安装、配置与启动让你告别繁琐的手工部署。本文带你快速上手这套一键部署方案。什么是 initialization-actions初始化动作是一段可执行脚本在 Dataproc 集群创建时自动运行在所有节点上。典型场景包括安装额外的大数据组件Kafka、Flink、HBase、ZooKeeper、Presto 等安装 Python/R 环境Miniconda、RStudio配置监控Ganglia、Prometheus、Stackdriver使用方式极其简单创建集群时通过--initialization-actions参数传入脚本地址即可gcloud dataproc clusters create CLUSTER_NAME \ --region REGION \ --initialization-actions gs://YOUR_BUCKET/kafka/kafka.sh 生产环境建议先把脚本复制到自己项目的 Cloud Storage 存储桶中保证所有节点使用一致的版本避免上游更新带来的意外升级。Kafka 一键部署一条命令搞定高可用消息队列Kafka 初始化脚本位于kafka/kafka.sh它会自动安装 Kafka、连接 ZooKeeper、生成唯一的 broker ID 并启动服务。关键机制不用你操心脚本自动读取节点角色Master/Worker为每个节点分配不冲突的 broker ID自动轮询等待 ZooKeeper 就绪、Kafka broker 注册完成支持通过--metadata控制行为run-on-mastertrue可在 Master 上也运行 brokerinstall-kafka-pythontrue自动装 Python 客户端一键创建 3 主高可用 Kafka 集群gcloud dataproc clusters create my-kafka \ --num-masters 3 \ --metadata run-on-mastertrue \ --initialization-actions gs://BUCKET/kafka/kafka.sh创建完成后SSH 进节点即可用命令行工具验证创建 topic、生产消息、消费消息全流程跑通。还能叠加更多组件附加脚本作用访问端口kafka/kafka-manager.shCMAK 网页管理界面9000kafka/cruise-control.sh自动修复分区副本9090prometheus/prometheus.shPrometheus 监控9096多个初始化动作可用逗号拼接在一次命令中执行例如同时部署 Kafka Prometheus。Flink 一键部署装完即开跑 YARN 会话Flink 脚本位于flink/flink.sh安装完成后会自动在 YARN 上启动一个常驻 Flink 会话作业即装即跑gcloud dataproc clusters create my-flink \ --initialization-actions gs://BUCKET/flink/flink.sh使用技巧提交作业时记得带上HADOOP_CONF_DIR/etc/hadoop/conf用yarn application -list查看默认会话的 App ID想并发跑多个作业可通过--metadata flink-start-yarn-sessionfalse关闭默认会话改用临时会话支持flink-snapshot-url元数据键安装自定义版本⚠️ 提示较新版本的 Dataproc 已提供官方Flink 组件Flink Component新项目建议直接使用组件方式此脚本适合理解初始化动作的原理与旧版本集群。HBase 一键部署基于 HDFS 的分布式数据库HBase 脚本位于hbase/hbase.sh会自动配置 HBase 守护进程、接入 ZooKeeper 并支持弹性伸缩gcloud dataproc clusters create my-hbase \ --num-masters 3 --num-workers 2 \ --initialization-actions gs://BUCKET/hbase/hbase.sh几个实用点验证部署SSH 进任意节点执行hbase shell即可访问 Web UISSH 隧道转发 16010 端口后浏览器打开localhost:16010弹性扩容一条命令即可增加 RegionServer 节点gcloud dataproc clusters update my-hbase --num-workers 5更换存储后端通过hbase-root-dir元数据键可把数据目录指向 Cloud Storagegs://WAL 仍保留在 HDFSKerberos 认证传入enable-kerberostrue与keytab-bucket即可自动生成全部 keytab 配置⚠️ 同样地新版 Dataproc 已提供官方HBase 组件推荐优先使用。组合部署与常见坑ZooKeeper 依赖与脚本顺序三个组件对ZooKeeper 的依赖不同这是组合部署时最需要注意的地方Kafka要求先有 ZooKeeper —— 用--num-masters 3的高可用集群自带 ZooKeeper或在初始化动作列表中先加zookeeper/zookeeper.shHBaseHA 集群自带 ZooKeeper标准集群需搭配zookeeper/zookeeper.sh脚本顺序即执行顺序--initialization-actions中的脚本按逗号顺序逐个执行被依赖的组件一定要排在前面--initialization-actions gs://BUCKET/zookeeper/zookeeper.sh,gs://BUCKET/hbase/hbase.sh单节点集群限制Drill、Flink、Kafka、ZooKeeper 这几个动作需要多节点守护进程不适用于单节点集群Hue、Zeppelin 等则完全没问题脚本编写小技巧所有脚本都通过get_metadata_value读取节点角色来区分 Master/Worker 逻辑公共工具函数可参考util/utils.sh用 Hue 可视化 UI 验证你的集群 部署完 Hadoop 生态后可以叠加hue/hue.sh一键安装 Hue —— 集群的可视化控制台用它跑 HiveQL 是最直观的验收方式在 SQL 界面中先为数据桶创建外部 Hive 表接着执行一条简单查询10 条交易记录即刻返回再来一条按日期分组的聚合统计验证分布式计算能力生产环境最佳实践清单 ✅实践说明复制脚本到自己存储桶锁定版本防止上游更新意外升级集群高可用优先Kafka/HBase 建议--num-masters 3关注官方组件Flink、HBase、ZooKeeper 已有官方 Component新项目优先使用善用 metadata用--metadata keyvalue精细控制各脚本行为无需改代码用测试框架验收仓库内置 integration_tests/ 集成测试框架可跑真实集群验证安装总结initialization-actions让 Dataproc 集群的定制变得像拼积木一样简单一条gcloud命令 若干初始化脚本Kafka、Flink、HBase 等组件即可自动完成安装、配置与启动。理解脚本顺序 执行顺序、metadata 配置开关这两个核心概念你就能灵活组合出任意大数据技术栈。【免费下载链接】initialization-actionsRun in all nodes of your cluster before the cluster starts - lets you customize your cluster项目地址: https://gitcode.com/gh_mirrors/in/initialization-actions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考