我在国外的Linux系统上,需要确定运行apache的用户(php也是如此).
目标:我需要获取脚本的所有者(这不是问题,因为我可以使用SplFileInfo)并将其与apache进程的所有者进行比较.
我对任何其他提案持开放态度.
此致,马里奥
编辑:附加信息:
该脚本是缩略图生成器,它使用XML文件从较大的图像生成拇指.该脚本需要创建文件夹和写入文件.因为我不能影响php配置,我没有任何shell访问权限,所以必须非常默默地完成.创建过程通过异常停止并在失败时发送邮件.由于大多数php的函数不能在failue上抛出异常,我需要一些手动检查来确定我所处的环境.因此我需要apache用户将它与某个目录或文件所有者进行比较.
我有一个oozie工作流程,在4台机器的CDH4集群上运行(一个掌握一切,三个"哑"工人).hive Metastore使用mysql(驱动程序存在)在master上运行,oozie服务器也使用mysql在master上运行.使用Web界面,我可以按预期导入和查询配置单元,但是当我在oozie工作流程中执行相同的查询时,它会失败.即使添加"IF EXISTS"也会导致下面的错误.我尝试将连接信息作为属性添加到hive作业,但没有任何成功.
任何人都可以给我一个提示吗?我错过了什么吗?需要进一步的信息吗?
这是作业日志的输出:
Script [drop.sql] content:
------------------------
DROP TABLE IF EXISTS performance_log;
------------------------
Hive command arguments :
-f
drop.sql
=================================================================
>>> Invoking Hive command line now >>>
Intercepting System.exit(10001)
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10001]
Oozie Launcher failed, finishing Hadoop job gracefully
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
FAILED: SemanticException [Error 10001]: Table not found performance_log
Intercepting System.exit(10001)
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10001]
Run Code Online (Sandbox Code Playgroud)