创建oozie数据库架构时出错

gorkyyrv  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(316)

我正在尝试在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安装网站。
请帮我找出可能的错误。提前谢谢。

qfe3c7zg

qfe3c7zg1#

在我的例子中,我的db oozie是空的,所以我删除了db,然后重新创建它!$mysql-u root-p输入密码:******
mysql>创建数据库oozie;查询正常,1行受影响(0.03秒)
mysql>授予oozie.*上的所有特权给“oozie”@“localhost”,由“oozie”标识;查询正常,0行受影响(0.03秒)
mysql>将oozie.*上的所有权限授予“oozie”@“%”,由“oozie”标识;查询正常,0行受影响(0.03秒)
mysql>退出再见
然后
验证数据库连接完成检查数据库架构不存在完成检查oozie\u sys表不存在完成创建sql架构完成创建oozie\u sys表完成设置mysql mediumtext标志完成
oozie db已为oozie版本“3.3.2-cdh4.7.0”创建

56lgkhnf

56lgkhnf2#

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

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

因此,您可以尝试传入sql文件并命名一个已知存在的路径,用户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

相关问题