尝试安装 Cloudera Manager 5 时 Oozie 依赖项不正确

Incorrect Oozie dependencies when trying to install Cloudera Manager 5

我正在尝试在我的 Hadoop 集群上安装最新版本的 Cloudera 管理器 (Ubuntu 14.04),following these steps。我将 Ubuntu Trusty Cloudera Manager 列表文件移动到 /etc/apt/sources.list.d/ 目录,没有意识到其他人已经将 Ubuntu Precise 列表也移动到了那里。我 运行 完成了尽可能多的安装,现在我在使用 Oozie 时遇到了一些奇怪的依赖错误:

% sudo apt-get install cloudera-manager-daemons
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cloudera-manager-daemons is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 oozie : Depends: oozie-client (= 3.1.3+155-1.cdh4.0.1.p0.1~precise-cdh4.0.1) but 4.1.0+cdh5.6.0+235-1.cdh5.6.0.p0.108~trusty-cdh5.6.0 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

当我列出已安装的 Oozie 包时,我得到:

% dpkg --list | grep "oozie"                                          
ii  oozie                               3.1.3+155-1.cdh4.0.1.p0.1~precise-cdh4.0.1            all          A workflow and coordinator sytem for Hadoop jobs.
ii  oozie-client                        4.1.0+cdh5.6.0+235-1.cdh5.6.0.p0.108~trusty-cdh5.6.0  all          Client for Oozie Workflow Engine

所以 oozie 使用的是 Precise 安装,oozie-client 使用的是 Trusty 安装。我无法删除它们中的任何一个(purge 给出类似的结果):

% sudo apt-get  remove oozie-client                                 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 oozie : Depends: oozie-client (= 3.1.3+155-1.cdh4.0.1.p0.1~precise-cdh4.0.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

如果我尝试继续安装 Cloudera,我会不断收到奇怪的 Oozie 依赖性错误。想法?

原来有一个较旧的 sources.list 文件中有拼写错误。替换后,我可以 运行 apt-get update 然后给出不同的错误。看起来它试图停止 oozie 服务并遇到语法错误。 运行 service oozie stop 给出了同样的错误。然后进入 initscript /etc/init.d/oozie 并取出给出语法错误的行。最后我能够 运行 apt-get update,卸载冲突的 oozie 版本并重新安装 Trusty 版本。