CDH4 将 Cloudera Manager 还原到现有集群

CDH4 Restore Cloudera Manager to existing cluster

我们的 Cloudera Manager (4.7) 生产节点出现问题,因此我们在该节点上安装了一个新的 OS。 我们正在尝试从我们拥有的(嵌入式)postgresql 数据库的备份中恢复 Cloudera Manager。我们希望通过使用还原的DB,CM可以用现有的配置管理现有的集群。

我们正在做一些 POC,在这些 POC 中,我们试图通过以下概述的步骤将 cloudera 管理器移植到新服务器。 (最终我们会在同一个节点上安装CM)

  1. 安装 cloudera-server-daemons cloudera-server
  2. 安装cloudera-server-db
  3. sudo service cloudera-server-db start => 这创建了基本角色;重新生成密码等
  4. 所以我们从 pg_dumpall foo.sql 中删除了创建角色和密码以及数据库的初始语句。 pql -U cloudera-scm -h localhost -p 7432 -f foo.sql postgres .这成功完成了。
  5. 在集群中的每个节点上更改 /etc/cloudera-scm-agent/config.ini 以指向新节点
  6. sudo 服务 cloudera 服务器启动。 => 我们期待 CM 获取配置并加载。但是它需要我们安装程序页面
  7. 安装免费版。要么搜索 ips,要么我们看到可用的主机。
  8. 接下来它会更新集群中每个节点上的 cdh 包,并要求我们安装服务。
  9. 这之后的过程有点不清楚。但是,我们确实设法将角色分配给适当的节点,例如。 HDFS 使用相同的根目录,但未格式化,一切正常。但是我们所有的配置都丢失了。这似乎表明 CM 没有读取恢复的 DB。

以上步骤似乎不是恢复cloudera manager状态的正确方法。此 Reference 可能列出了执行此操作的无缝方式。按照 link 中提到的步骤,我们仍然无法让 CM 读取恢复的数据库。有人可以指出正确的步骤吗? 任何帮助表示赞赏。

经过大量的 poc 之后,我们得出了数据库转储无用的结论。 对我们来说幸运的是,我们有 postgresql 的 /data 目录。

我们选择了同一台机器进行重新安装(因此无需在 /etc/cloudera-scm-agent/config.ini 中弄乱主机名和 IP 地址) 所以我们安装了正确的 postgresql 版本,cloudera-scm-server、cloudera-scm-server-db、cloudera-scm-agent、cloudera-scm-daemons 及其相关的依赖项。

我们遇到的一个问题是我们丢失了 db.mgmt.properties。我们能够更改用户的密码(amon、hmon、smon、nav 等)。密码的逻辑是 md5(yourPasswordUser) 使用 postgres 中可用的 md5 函数。 此外,您需要在此密码前加上 'md5'.

启动cloudera-scm-server,所有服务都会出现。如果存在数据库连接问题,请转到相关服务,例如activity 监视并将密码更改为 yourPassword。重启。

这对我们有用。我们不需要安装或重新配置服务。