[ 
https://issues.apache.org/jira/browse/HIVE-10502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520723#comment-14520723
 ] 

Chaoyu Tang commented on HIVE-10502:
------------------------------------

[~szehon] I see the issue. What you did is to invoke Beeline application from 
the shell script 'beeline'. I think in hive shell script, which beeline uses, 
calls hadoop cmd to check HADOOP_VERSION if it is not found in env:
HADOOP_VERSION=$($HADOOP version | awk '{if (NR == 1) {print $2;}}');

In script hadoop, it calls java org.apache.hadoop.util.VersionInfo, and try to 
locate the log4j.properties file in the path. 

Actually in beeline script, log4j.properties is specified as 
beeline-log4j.properties and passed to hadoop jar application for Beeline:
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS 
-Dlog4j.configuration=beeline-log4j.properties "

So you might specify the beeline log4j.properties via 
HADOOP_CLIENT_OPTS=-Dlog4j.configuration=anypath/anyfile.properties ?

 

> Cannot specify log4j.properties file location in Beeline
> --------------------------------------------------------
>
>                 Key: HIVE-10502
>                 URL: https://issues.apache.org/jira/browse/HIVE-10502
>             Project: Hive
>          Issue Type: Bug
>          Components: Beeline
>    Affects Versions: 1.1.0
>            Reporter: Szehon Ho
>            Assignee: Chaoyu Tang
>
> In HiveCLI, HiveServer2, HMS, etc, the following is called early in the 
> startup to initialize log4j logging: LogUtils.initHiveLog4j().
> However, seems like this is not the case in Beeline, which also needs log4j 
> like as follows:
> {noformat}
>   at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
>   at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:66)
>   at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)
>   at 
> org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
>   at 
> org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
>   at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
>   at org.apache.hadoop.util.VersionInfo.<clinit>(VersionInfo.java:37)
> {noformat}
> It would be good to specify it, so it doesn't pick the first one in the 
> classpath.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to