GCP Dataproc 产品使用

一.什么是 Dataproc

Dataproc 是一项托管式 Spark 和 Hadoop 服务,借助该服务,您可以充分利用开源数据工具来执行批处理、查询、流式传输和机器学习。Dataproc 自动化功能可帮助您快速创建集群并轻松管理,以及在不需要集群时将其关闭以节省费用。由于在管理上花费的时间和费用更少,您可以将精力集中在作业和数据上。

二.Dataproc场景和优势

与传统的本地产品和竞争对手的云服务相比,Dataproc 对于拥有三到上百个节点的集群具有许多独特优势:

  • 费用低廉 – Dataproc 的价格低廉(低于您使用的其他 Cloud Platform 资源),您每小时只需为集群中的每个虚拟 CPU 支付 1 美分。除了价格低廉之外,Dataproc 集群还可以包含具有较低计算价格的抢占式实例,从而进一步降低您的费用。Dataproc 不会将您的使用量四舍五入为最接近的小时数,而是按照您的真实使用情况逐秒结算,结算周期低至一分钟。
  • 超高速 – 在不使用 Dataproc 的情况下,可能需要 5 到 30 分钟才能在本地或通过 IaaS 提供商创建 Spark 和 Hadoop 集群。相比之下,Dataproc 集群可以快速启动、调节和关闭,平均每个操作需要 90 秒或更少的时间。这意味着,您可以花更少的时间来等待集群响应,并投入更多的时间来实际处理数据。
  • 集成 — Dataproc 还内置了与其他 Google Cloud Platform 服务(例如 BigQuery、Cloud Storage、Cloud Bigtable、Cloud Logging 和 Cloud Monitoring)的集成,因此,您拥有的不仅仅是一个 Spark 或 Hadoop 集群,而是一个完整的数据平台。例如,您可以使用 Dataproc 轻松将数 TB 的原始日志数据直接 ETL 到 BigQuery 中,以便进行业务报告。
  • 托管 – 无需借助管理员或特殊软件提供的帮助,即可使用 Spark 和 Hadoop 集群。您可以通过 Google Cloud Console、Cloud SDK 或 Dataproc REST API 轻松地与集群以及 Spark 或 Hadoop 作业进行交互。当您使用完一个集群时,只需将它关闭,这样您就不会为闲置的集群付费。您不必担心数据丢失,因为 Dataproc 已与 Cloud Storage、BigQuery 和 Cloud Bigtable 集成。
  • 简单而熟悉 – 您无需学习新的工具或 API 即可使用 Dataproc,因此可以轻松地将现有项目迁移到 Dataproc(无需重新进行开发)。Spark、Hadoop、Pig 和 Hive 会频繁更新,因此您可以更快地提高工作效率。

三.Dataproc 包含哪些组件

Dataproc 支持的开源组件(Hadoop、Spark、Hive 和 Pig)和 Google Cloud Platform 连接器

创建集群时,标准 Apache Hadoop 生态系统组件会自动安装在集群中(请参阅 Dataproc 版本列表)。 您可以在创建集群时在集群上安装称为“可选组件”的其他组件。 向集群添加可选组件类似于通过使用初始化操作添加组件,但具有以下优势:

  • 缩短了集群启动时间
  • 经测试,可以与特定的 Dataproc 版本兼容
  • 使用集群参数,而不是初始化操作脚本
  • 可选组件与其他 Dataproc 组件集成在一起。 例如,当集群安装了 Anaconda 和 Zeppelin 时,Zeppelin 将使用 Anaconda 的 Python 解释器和库
可选组件gcloud 命令和 API 请求中的
COMPONENT_NAME
映像版本发布阶段
AnacondaANACONDA1.3 及更高版本
(在 2.0 及更高版本中不可用)
GA
DockerDOCKER1.5 及更高版本GA
DruidDRUID1.3 及更高版本Alpha
FlinkFLINK1.5 及更高版本GA
HBaseHBASE1.5 及更高版本Beta 版
Hive WebHCatHIVE_WEBHCAT1.3 及更高版本GA
Jupyter 笔记本JUPYTER1.3 及更高版本GA
PrestoPRESTO1.3 及更高版本GA
RangerRANGER1.3 及更高版本GA
SolrSOLR1.3 及更高版本GA
Zeppelin 笔记本ZEPPELIN1.3 及更高版本GA
ZooKeeperZOOKEEPER1.0 及更高版本GA

如需了解如何连接到集群上运行的组件 Web 界面,请参阅集群 Web 界面。 另请参阅 Dataproc 组件网关,它可使您连接到 Dataproc 核心和可选组件的 Web 界面,包括 YARN、HDFS、Jupyter 和 Zeppelin 界面,而无需使用 SSH 隧道或修改防火墙规则来允许入站流量

四.操作准备

1.需要有谷歌账号登陆
https://console.cloud.google.com 官网

2.查看IAM和管理权限有project权限,分配有Dataproc管理权限

3. 创建使用另一个项目中的 VPC 网络的集群

4. 通过 SSH 连接到 Dataproc 集群

五.操作流程

  • 创建 Dataproc 集群 (控制台和gcloud)创建
GCP Dataproc 产品使用
GCP Dataproc 产品使用

默认是标标准集群

GCP Dataproc 产品使用

自动扩缩需要创建政策

GCP Dataproc 产品使用

Dataproc 增强的灵活模式 查看地址:
https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/flex?hl=zh-cn

GCP Dataproc 产品使用
GCP Dataproc 产品使用

发布版本详情查看地址:

https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-release-2.0?hl=zh-cn
GCP Dataproc 产品使用

组件自定义选装

GCP Dataproc 产品使用

设置节点(根据业务选择vm配置)

GCP Dataproc 产品使用

­­

GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用

创建自动部署服务和托管安装

GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用

集群界面

GCP Dataproc 产品使用

查看服务器配置文件和路径

登陆master主节点需要有密钥验证

默认安装在/etc/路径下 (zookeeper,Hadoop,hive,mysql,hbase)

GCP Dataproc 产品使用
  • 使用gcloud 命令行创建 ,用页面cloud shell 登录

gcloud dataproc clusters create test001 –enable-component-gateway –region us-central1 –zone us-central1-c –master-machine-type n1-standard-4 –master-boot-disk-size 500 –num-workers 2 –worker-machine-type n1-standard-4 –worker-boot-disk-size 500 –image-version 1.5-ubuntu18 –optional-components ZOOKEEPER,HBASE,FLINK –project mec-test-344202

命令详解:create test001 创建集群名称


–enable-component-gateway 开启web界面网关

–region 区域

–zone 区域节点

–master-machine-type 主节点vm配置

–num-workers 2 工作节点2个

–image-version 系统版本映像

–optional-components 安装组件

–project 部署项目名称

GCP Dataproc 产品使用

创建集群

GCP Dataproc 产品使用
  • 创建自定义集群操作
GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用
GCP Dataproc 产品使用

添加属性键值查看文档地址:
https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/cluster-properties

GCP Dataproc 产品使用

初始化组件

GCP Dataproc 产品使用

初始化组件地址:
https://github.com/GoogleCloudDataproc/initialization-actions

GCP Dataproc 产品使用
GCP Dataproc 产品使用

所有组件安装在/etc/目录下

GCP Dataproc 产品使用

添加work节点修改配置

GCP Dataproc 产品使用
GCP Dataproc 产品使用
  • 用gcloud 命令自定义创建集群

gcloud dataproc clusters create test02 –enable-component-gateway –bucket wanggaoli –region us-central1 –subnet default –zone us-central1-f –master-machine-type n1-standard-4 –master-boot-disk-size 500 –num-workers 2 –worker-machine-type n1-standard-4 –worker-boot-disk-size 500 –image-version 1.5-ubuntu18 –optional-components HIVE_WEBHCAT,ZOOKEEPER,HBASE,FLINK –initialization-actions ‘gs://hadoop-hive/hive-01/initialization-actions-master/docker/docker.sh’,’gs://hadoop-hive/hive-01/initialization-actions-master/datalab/datalab.sh’,’gs://hadoop-hive/hive-01/initialization-actions-master/kafka/kafka.sh’,’gs://hadoop-hive/hive-01/initialization-actions-master/hue/hue.sh’ –project mec-test-344202

GCP Dataproc 产品使用
GCP Dataproc 产品使用

五.补充问题:访问web界面需要打通ssh 隧道

GCP Dataproc 产品使用

创建使用本地端口 1080 的 SSH 隧道

$
gcloud compute ssh test02-m \
 --project=mec-test-344202 \
 --zone=us-central1-f -- -D 1080 -N

运行 Chrome 并通过代理连接

$
/usr/bin/google-chrome \
 --proxy-server="socks5://localhost:1080" \
 --user-data-dir="/tmp/test02-m" http://test02-m:8088

查看官方文档:
https://cloud.google.com/dataproc/docs/concepts/accessing/cluster-web-interfaces?hl=zh-cn#create_an_ssh_tunnel

创建集群需提前规划使用初始化组件,组件通过脚本执行自动安装

单节点不支持节点扩展

发表评论

您的电子邮箱地址不会被公开。