0

我正在将我的 HDP2.1 hadoop 集群迁移到 HDP2.2.4。第一步是将 ambari 从 1.6.0 迁移到 2.0.0。
完成此步骤后,我重新启动了我的服务。

通过 Ambari 2.0 启动“HiveServer2”失败sudo service hive-server2 start,而随后的配置单元请求和 Ambari Hive 服务检查工作。

它失败了,因为它尝试使用以下命令将我的非默认数据库位置迁移到apps/hive/warehousepython 配置步骤中:

hive --config /etc/hive/conf.server --service metatool -updateLocation hdfs://cluster/apps/hive/warehouse hdfs://cluster/user/foo/DATABASE

该命令由于不明原因而失败(见下文),但关键是我不希望这种情况发生,因为 HDFS 文件没有移动我看不到重新定位表的意义!

为什么 Ambari 会这样做,我该如何防止这种情况发生(除了编辑 python ambari 文件)?

更新位置无法记录以下行: -bash: line 1: hdfs://cluster/apps/hive/warehouse : No such file or directory

但列出的目录确实存在。

此更新由 ambari 完成/var/lib/ambari-agent/cache/common-services/HIVE/0.12.0.2.0/package/scripts/hive_service.py (没有评论解释目的):

def check_fs_root():
  import params
  fs_root_url = format("{fs_root}{hive_apps_whs_dir}")
  metatool_cmd = format("hive --config {hive_server_conf_dir} --service metatool")
  cmd = as_user(format("{metatool_cmd} -listFSRoot 2>/dev/null", env={'PATH' : params.execute_path }), params.hive_user) + " | grep hdfs:// | grep -v '.db$'"
  code, out = shell.call(cmd)
  if code == 0 and fs_root_url.strip() != out.strip():
    cmd = format("{metatool_cmd} -updateLocation {fs_root}{hive_apps_whs_dir} {out}")
    Execute(cmd,
            user=params.hive_user,
            environment= {'PATH' : params.execute_path }
    )
4

1 回答 1

1

看看这个 JIRA 是否有助于解决您遇到的问题......

https://issues.apache.org/jira/browse/AMBARI-10360

于 2015-04-28T18:57:31.370 回答