本文介绍了如何在 Google Compute Engine 集群上基于 Hadoop 1 或者 Hadoop 2 自动部署 Flink. 借助 Google 的 bdutil 工具可以启动一个集群并基于 Hadoop 部署 Flink, 根据下列步骤开始吧.
请根据该指南了解如何安装 Google Cloud SDK. 需要特别注意的是, 使用下列命令确保 Google Cloud 验证成功:
gcloud auth login
目前, bdutil 发布版本中并不包含 Flink 扩展. 不过, 你可以从 [GitHub] (https://github.com/GoogleCloudPlatform/bdutil) 获得最新版本 bdutil:
git clone https://github.com/GoogleCloudPlatform/bdutil.git
在源码下载完成之后, 进入新创建的 bdutil
目录然后按着以下的步骤继续.
如果没有的话, 需要创建一个 bucket 用于配置 bdutil 和 staging 文件. gsutil 可以创建一个新的 bucket:
gsutil mb gs://<bucket_name>
使用 bdutil 部署 Flink, 在 bdutil_env.sh 中至少需要配置下列参数.
CONFIGBUCKET="<bucket_name>"
PROJECT="<compute_engine_project_name>"
NUM_WORKERS=<number_of_workers>
# set this to 'n1-standard-2' if you're using the free trial
GCE_MACHINE_TYPE="<gce_machine_type>"
# for example: "europe-west1-d"
GCE_ZONE="<gce_zone>"
bdutil的 Flink 拓展组件已经为你处理好配置了. 你还可以在 extensions/flink/flink_env.sh
中添加其他的配置参数. 如果想进一步了解配置参数,请见 Flink 配置. 在修改配置之后需要使用 bin/stop-cluster
和 bin/start-cluster
来重启Flink.
在 Google Compute Engine 上启动一个 Flink 集群,执行命令:
./bdutil -e extensions/flink/flink_env.sh deploy
./bdutil shell
cd /home/hadoop/flink-install/bin
./flink run ../examples/batch/WordCount.jar gs://dataflow-samples/shakespeare/othello.txt gs://<bucket_name>/output
关闭一个 Flink 集群只需执行
./bdutil -e extensions/flink/flink_env.sh delete