如何在现有集群上升级 hadoop - google 云

how to upgrade hadoop on existing cluster - google cloud

问题是独立的。我部署了一些集群,现在我想升级我的 hadoop 版本。我试图检查 bdutilgsutil,我没有找到如何让它工作!

不幸的是,由于 Hadoop 1 和 Hadoop 2 之间的各种路径、库依赖项和守护进程有很大不同,因此目前没有简单的就地升级方法。特别是,即使协调库升级和守护程序更改,对集群进行的任何自定义也可能会中断,因此通常,简单地删除并重新创建集群会更容易和更安全。

为了帮助防止过度停留在单个集群实例上并受益于能够从头开始重新部署可复制集群的敏捷性,最佳实践建议是将您可能拥有的任何自定义隔离到自定义“_env.sh" 文件。 spark_env.sh extension 是一个很好的例子,说明如何在现有 bdutil 安装之上混合额外的自定义。再举一个例子,如果您只想在 bdutil 安装结束时在所有机器上安装 openjdk-7-jdk,您将创建文件 install_jdk.shadd_jdk_env.sh:

# file: install_jdk.sh

sudo apt-get install openjdk-7-jdk

add_jdk_env.sh:

# file: add_jdk_env.sh

# Create a command group which references the new install_jdk.sh file.
COMMAND_GROUPS+=(
  "install_jdk:
     install_jdk.sh
  "
)

# Run that command group on master and workers.
COMMAND_STEPS+=(
  'install_jdk,install_jdk'
)

最后,您只需将其混合用于 bdutil 部署:./bdutil -e add_jdk_env.sh deploy