0

我正在尝试在 RHEL5 上使用 RPM 设置 oozie (cdh4)。当我运行命令在 mysql 数据库中设置模式时,sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run它会给我一个错误,指出“没有这样的文件或目录”。您可以在此处查看相同的日志。

而如果我尝试运行命令来创建脚本使用sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -sqlfile oozie-create.sql它会给我一个错误,指出“无法连接到数据库”。您可以在此处查看相同的日志。

我正在关注oozie 的 cdh4 安装站点

请帮我找出可能的错误。提前致谢。

4

2 回答 2

1

看起来您在尝试创建 init sql 文件时遇到了某种权限问题。产生错误的 oozie cdh4 的代码是这样的:

String sqlFile = (commandLine.hasOption(SQL_FILE_OPT))
      ? commandLine.getOptionValue(SQL_FILE_OPT)
      : File.createTempFile("ooziedb-", ".sql").getAbsolutePath();

因此,您可以尝试传入 SQL_FILE_OPT 并命名您知道存在的路径,并且用户 oozie 也可以编写。您已经在第二个命令行中完成了,但我会完全限定 sql 文件的路径,并将其放在您知道可以写入的 oozie 的位置(/tmp,实际上应该是 File.createTempFile( ..) 创建文件)。

sudo -u oozie touch /tmp/oozie-create.sql
sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create \
    -sqlfile /tmp/oozie-create.sql
于 2013-05-13T10:35:23.783 回答
0

就我而言,我的 db oozie 是空的,所以我删除了 db,然后重新创建它!$ mysql -u root -p 输入密码:******

mysql> 创建数据库 oozie;查询正常,1 行受影响(0.03 秒)

mysql> 将 oozie.* 上的所有权限授予由 'oozie' 标识的 'oozie'@'localhost';查询正常,0 行受影响(0.03 秒)

mysql> 将 oozie.* 上的所有权限授予由 'oozie' 标识的 'oozie'@'%';查询正常,0 行受影响(0.03 秒)

mysql>退出再见

然后

验证数据库连接 DONE 检查数据库架构不存在 DONE 检查 OOZIE_SYS 表不存在 DONE 创建 SQL 架构 DONE 创建 OOZIE_SYS 表 DONE 设置 MySQL MEDIUMTEXT 标志 DONE

Oozie DB 已为 Oozie 版本“3.3.2-cdh4.7.0”创建

于 2015-01-01T01:56:27.673 回答