Hadoop 获取配置单元表元数据时出现WebHCAT错误。由于超时(10000ms),命令被终止。请参阅templeton.exec.timeout属性“0”&引用;exitcode";:143

Hadoop 获取配置单元表元数据时出现WebHCAT错误。由于超时(10000ms),命令被终止。请参阅templeton.exec.timeout属性“0”&引用;exitcode";:143,hadoop,hcatalog,Hadoop,Hcatalog,如果我在cloudera 5.4.1环境中发出此webhcat REST调用 curl -s 'http://mywebhcat:50111/templeton/v1/ddl/database/default/table/person? user.name=admin&format=extended'; echo; echo; 一切正常,我看到了桌面人员的元数据 但是如果我将上面的REST调用更改为 curl -s 'http://mywebhcat:50111/templeton/v

如果我在cloudera 5.4.1环境中发出此webhcat REST调用

curl -s 'http://mywebhcat:50111/templeton/v1/ddl/database/default/table/person?
user.name=admin&format=extended'; echo; echo;
一切正常,我看到了桌面人员的元数据

但是如果我将上面的REST调用更改为

curl -s 'http://mywebhcat:50111/templeton/v1/ddl/database/default/table/foo_bar?
user.name=admin&format=extended'; echo; echo;
然后我得到一个错误

{"statement":"use default; show table extended like 
foo_bar;","error":"unable to show table: 
foo_bar","exec":{"stdout":"","stderr":"which: no /opt/cloudera/parcels/
CDH-5.4.1-1.cdh5.4.1.p0.6/lib/hadoop/bin/hadoop in ((null))\ndirname: missing operand\nTry 
`dirname --help' for more information.\nlog4j:ERROR setFile(null,true) call failed.\njava.io
.FileNotFoundException: /opt/cloudera/parcels/CDH-5.4.1-1.cdh5.4.1.p0.6/lib/hive/logs/hcat.
log (No such file or directory)\n\tat java.io.FileOutputStream.open0(Native Method)\n\tat 
java.io.FileOutputStream.open(FileOutputStream.java:270)\n\tat java.io.FileOutputStream.<
init>(FileOutputStream.java:213)\n\tat java.io.FileOutputStream.<init>(FileOutputStream.
java:133)\n\tat org.apache.log4j.FileAppender.setFile(FileAppender.java:294)\n\tat org.
apache.log4j.FileAppender.activateOptions(FileAppender.java:165)\n\tat org.apache.log4j.
DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:223)\n\tat org.apache
.log4j.config.PropertySetter.activate(PropertySetter.java:307)\n\tat org.apache.log4j.config
.PropertySetter.setProperties(PropertySetter.java:172)\n\tat org.apache.log4j.config.
PropertySetter.setProperties(PropertySetter.java:104)\n\tat org.apache.log4j.
PropertyConfigurator.parseAppender(PropertyConfigurator.java:842)\n\tat org.apache.log4j.
PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)\n\tat org.apache.log4j.
PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648)\n\tat org.apache.
log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514)\n\tat org.apache.log4j
.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)\n\tat org.apache.log4j.
PropertyConfigurator.configure(PropertyConfigurator.java:415)\n\tat org.apache.hadoop.hive.
common.LogUtils.initHiveLog4jDefault(LogUtils.java:127)\n\tat org.apache.hadoop.hive.common.
LogUtils.initHiveLog4jCommon(LogUtils.java:77)\n\tat org.apache.hadoop.hive.common.LogUtils.
initHiveLog4j(LogUtils.java:58)\n\tat org.apache.hive.hcatalog.cli.HCatCli.main(HCatCli.
java:65)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.
DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.
reflect.Method.invoke(Method.java:497)\n\tat org.apache.hadoop.util.RunJar.run(RunJar.
java:221)\n\tat org.apache.hadoop.util.RunJar.main(RunJar.java:136)\nlog4j:ERROR Either 
File or DatePattern options are not set for appender [DRFA].\nOK\nTime taken: 1.035 
seconds\n Command  was terminated due to timeout(10000ms).  See templeton.exec.timeout 
property","exitcode":143}}
{“语句”:“使用默认值;显示扩展表
foo_bar;“,”错误“:”无法显示表格:
foo_bar,“exec”:{“stdout”:“stderr”:“which:no/opt/cloudera/parcels”/
CDH-5.4.1-1.cdh5.4.1.p0.6/lib/hadoop/bin/hadoop-in((null))\n用户名:缺少操作数\n重试
`dirname--help'获取详细信息。\nlog4j:错误setFile(null,true)调用失败。\njava.io
.FileNotFoundException:/opt/cloudera/parcels/CDH-5.4.1-1.cdh5.4.1.p0.6/lib/hive/logs/hcat。
日志(无此类文件或目录)\n\tat java.io.FileOutputStream.open0(本机方法)\n\tat
java.io.FileOutputStream.open(FileOutputStream.java:270)\n\t java.io.FileOutputStream<
init>(FileOutputStream.java:213)\n\t java.io.FileOutputStream。(FileOutputStream。
java:133)\n\tat org.apache.log4j.FileAppender.setFile(FileAppender.java:294)\n\tat org。
apache.log4j.FileAppender.activateOptions(FileAppender.java:165)\n\t org.apache.log4j。
DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:223)\n\t org.apache
.log4j.config.PropertySetter.activate(PropertySetter.java:307)\n\t org.apache.log4j.config
.PropertySetter.setProperties(PropertySetter.java:172)\n\t org.apache.log4j.config。
PropertySetter.setProperties(PropertySetter.java:104)\n\t org.apache.log4j。
PropertyConfiguration.parseAppender(PropertyConfiguration.java:842)\n\t org.apache.log4j。
PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)\n\t org.apache.log4j。
PropertyConfiguration.configureRootCategory(PropertyConfiguration.java:648)\n\t org.apache。
log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514)\n\t org.apache.log4j
.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)\n\t org.apache.log4j。
PropertyConfigurator.configure(PropertyConfigurator.java:415)\n\t org.apache.hadoop.hive。
common.LogUtils.initHiveLog4jDefault(LogUtils.java:127)\n\t org.apache.hadoop.hive.common。
LogUtils.initHiveLog4jCommon(LogUtils.java:77)\n\t org.apache.hadoop.hive.common.LogUtils。
initHiveLog4j(LogUtils.java:58)\n\t org.apache.hive.hcatalog.cli.HCatCli.main(HCatCli。
java:65)\n\t sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)\n\t sun.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\t sun.reflect。
DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\t java.lang。
reflect.Method.invoke(Method.java:497)\n\t org.apache.hadoop.util.RunJar.run(RunJar)。
java:221)\n\t org.apache.hadoop.util.RunJar.main(RunJar.java:136)\nlog4j:错误
没有为appender[DRFA]设置文件或日期模式选项。\n确定\n执行时间:1.035
秒\n命令由于超时(10000ms)而终止。请参阅templeton.exec.timeout
属性“,”exitcode“:143}”
我不知道为什么它只抱怨foo_bar表缺少日志目录,却成功地返回了关于Person的元数据

顺便说一句,我可以进入配置单元控制台,在Person和foo_栏上执行select count(*)查询

编辑::

再次阅读错误消息后,核心问题似乎是

命令因超时(10000ms)而终止。请参阅templeton.exec.timeout属性,“exitcode”:143

但是cloudera manager不知道这个属性“templeton.exec.timeout”…我该怎么做…我不想手动编辑文件,因为集群中有很多节点

编辑2::

我进入了每个hadoop节点,然后

sudo vi/opt/cloudera/parcels/CDH-5.4.1-1.cdh5.4.1.p0.6/etc/hive-webhcat/conf.dist/webhcat-default.xml


我找到了超时值并将其增加到1000000。我对每个超时值都执行了此操作,然后使用cloudera manager重新启动了Hive和WebHCat服务器。但我得到了完全相同的错误消息。

愤世嫉俗的回答:任何类型的“人”“信息自动路由到一些NSA数据库,绕过Log4J配置…我试图使用
sudo-u hdfs touch/opt/cloudera/parcels/CDH-5.4.1-1.cdh5.4.1.p0.6/lib/hive/logs/hcat创建日志文件。日志
但即使这样也会失败,因为这个目录有点被锁定。你能解决这个问题吗?讽刺的是:任何类型的“个人”信息都会自动路由到某个NSA数据库,绕过Log4J配置…我尝试使用sudo-u hdfs touch/opt/cloudera/parcels/CDH-5.4.1-1.cdh5.4.1.p0.6/lib/hive/logs/hcat创建日志文件。日志,但即使这样也会失败,因为此目录有点被锁定。您能够解决此问题吗?