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

Di Li edited comment on AMBARI-21607 at 8/4/17 2:10 PM:
--------------------------------------------------------

Hello Eric and Attila,

_hbase_lib_ was removed in BI 4.2.5. We should not use it post migration. The 
following section in hive-env from IOP 4.2 should be removed during EU.

{quote}# Set HIVE_AUX_JARS_PATH
export HIVE_AUX_JARS_PATH={{hbase_lib}}/hbase-client.jar,\
{{hbase_lib}}/hbase-common.jar,\
{{hbase_lib}}/hbase-hadoop2-compat.jar,\
{{hbase_lib}}/hbase-prefix-tree.jar,\
{{hbase_lib}}/hbase-protocol.jar,\
{{hbase_lib}}/hbase-server.jar,\
{{hbase_lib}}/htrace-core-3.1.0-incubating.jar,\
${HIVE_AUX_JARS_PATH}
{quote}

Right around the time of the IOP/HDP annoucement, Tim,  myself, and a dev from 
our Hive team were looking at a fix and our thinking was the following 

{quote}<service name="HIVE">
      <component name="HIVE_SERVER">
        <changes>
          <definition xsi:type="configure" 
id="biginsights_4_2_5_update_hive_env">
            <type>hive-env</type>
            <replace key="content" find="{{hbase_lib}}/hbase-client.jar," 
replace-with=""/>
            <replace key="content" find="{{hbase_lib}}/hbase-common.jar,\" 
replace-with="\"/>
            <replace key="content" 
find="{{hbase_lib}}/hbase-hadoop2-compat.jar,\" replace-with="\"/>
            <replace key="content" find="{{hbase_lib}}/hbase-prefix-tree.jar,\" 
replace-with="\"/>
            <replace key="content" find="{{hbase_lib}}/hbase-protocol.jar,\" 
replace-with="\"/>
            <replace key="content" find="{{hbase_lib}}/hbase-server.jar,\" 
replace-with="\"/>
            <replace key="content" 
find="{{hbase_lib}}/htrace-core-3.1.0-incubating.jar,\" replace-with="\"/>
          </definition>{quote}

So the end result is like the following
{quote}export HIVE_AUX_JARS_PATH=\
\
\
\
\
\
\
${HIVE_AUX_JARS_PATH}{quote}
                  
*IMPORTANT*: Please note that for a BigSQL cluster to be migrated, hive-env has 
the following at the end of the file that *must be retained during EU*. -- the 
section only exists on a BigSQL cluster.

{quote}# Allow Hive to read Big SQL HBase tables
if [ -d "/usr/ibmpacks/current/bigsql/bigsql/lib/java" ]; then
export HIVE_AUX_JARS_PATH=\
/usr/ibmpacks/current/bigsql/bigsql/lib/java/biga-io.jar,\
/usr/ibmpacks/current/bigsql/bigsql/lib/java/biga-hbase.jar,\
/usr/ibmpacks/current/bigsql/bigsql/lib/java/commoncatalog.jar,\
/usr/ibmpacks/current/bigsql/hive/lib/hive-hbase-handler.jar,\
${HIVE_AUX_JARS_PATH}
fi{quote}

P.S
I have an IOP4.2.5/HDP 2.6.2 migrated cluster and I am able to open the Hive 
shell after I switch (as the migration was done before Attila's EU config fix) 
the engine to MR.

[hive@loch4 ~]$ hive
2017-08-04 06:40:32,485 WARN  [main] conf.HiveConf: HiveConf of name 
hive.optimize.mapjoin.mapreduce does not exist
Logging initialized using configuration in 
file:/etc/hive/2.6.2.0-129/0/hive-log4j.properties
hive>




was (Author: dili):
Hello Eric and Attila,

_hbase_lib_ was removed in BI 4.2.5. We should not use it post migration. The 
following section in hive-env from IOP 4.2 should be removed during EU.

{quote}# Set HIVE_AUX_JARS_PATH
export HIVE_AUX_JARS_PATH={{hbase_lib}}/hbase-client.jar,\
{{hbase_lib}}/hbase-common.jar,\
{{hbase_lib}}/hbase-hadoop2-compat.jar,\
{{hbase_lib}}/hbase-prefix-tree.jar,\
{{hbase_lib}}/hbase-protocol.jar,\
{{hbase_lib}}/hbase-server.jar,\
{{hbase_lib}}/htrace-core-3.1.0-incubating.jar,\
${HIVE_AUX_JARS_PATH}
{quote}
Right around the time of the IOP/HDP annoucement, Tim,  myself, and a dev from 
our Hive team were looking at a fix and our thinking was the following 

{{<service name="HIVE">
      <component name="HIVE_SERVER">
        <changes>
          <definition xsi:type="configure" 
id="biginsights_4_2_5_update_hive_env">
            <type>hive-env</type>
            <replace key="content" find="{{hbase_lib}}/hbase-client.jar," 
replace-with=""/>
            <replace key="content" find="{{hbase_lib}}/hbase-common.jar,\" 
replace-with="\"/>
            <replace key="content" 
find="{{hbase_lib}}/hbase-hadoop2-compat.jar,\" replace-with="\"/>
            <replace key="content" find="{{hbase_lib}}/hbase-prefix-tree.jar,\" 
replace-with="\"/>
            <replace key="content" find="{{hbase_lib}}/hbase-protocol.jar,\" 
replace-with="\"/>
            <replace key="content" find="{{hbase_lib}}/hbase-server.jar,\" 
replace-with="\"/>
            <replace key="content" 
find="{{hbase_lib}}/htrace-core-3.1.0-incubating.jar,\" replace-with="\"/>
          </definition>}}

So the end result is like the following
{{export HIVE_AUX_JARS_PATH=\
\
\
\
\
\
\
${HIVE_AUX_JARS_PATH}}}
                  
*IMPORTANT*: Please note that for a BigSQL cluster to be migrated, hive-env has 
the following at the end of the file that *must be retained during EU*. -- the 
section only exists on a BigSQL cluster.

{{# Allow Hive to read Big SQL HBase tables
if [ -d "/usr/ibmpacks/current/bigsql/bigsql/lib/java" ]; then
export HIVE_AUX_JARS_PATH=\
/usr/ibmpacks/current/bigsql/bigsql/lib/java/biga-io.jar,\
/usr/ibmpacks/current/bigsql/bigsql/lib/java/biga-hbase.jar,\
/usr/ibmpacks/current/bigsql/bigsql/lib/java/commoncatalog.jar,\
/usr/ibmpacks/current/bigsql/hive/lib/hive-hbase-handler.jar,\
${HIVE_AUX_JARS_PATH}
fi}}

P.S
I have an IOP4.2.5/HDP 2.6.2 migrated cluster and I am able to open the Hive 
shell after I switch (as the migration was done before Attila's EU config fix) 
the engine to MR.

[hive@loch4 ~]$ hive
2017-08-04 06:40:32,485 WARN  [main] conf.HiveConf: HiveConf of name 
hive.optimize.mapjoin.mapreduce does not exist
Logging initialized using configuration in 
file:/etc/hive/2.6.2.0-129/0/hive-log4j.properties
hive>



> Hive can not write to session directory after upgrade
> -----------------------------------------------------
>
>                 Key: AMBARI-21607
>                 URL: https://issues.apache.org/jira/browse/AMBARI-21607
>             Project: Ambari
>          Issue Type: Bug
>          Components: stacks
>    Affects Versions: 2.5.2
>            Reporter: Eric Yang
>            Assignee: Doroszlai, Attila
>             Fix For: 2.5.2
>
>
> After upgrade, start hive shell.  This error message is shown:
> {code}
> Exception in thread "main" java.lang.RuntimeException: java.io.IOException: 
> Previous writer likely failed to write 
> hdfs://eyang-1.openstacklocal:8020/tmp/hive/hive/_tez_session_dir/6a2cab98-2e71-4223-bc9d-6301b3c6a5d5/hbase-client.jar.
>  Failing because I am unlikely to write too.
>       at 
> org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:560)
>       at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
>       at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at org.apache.hadoop.util.RunJar.run(RunJar.java:233)
>       at org.apache.hadoop.util.RunJar.main(RunJar.java:148)
> Caused by: java.io.IOException: Previous writer likely failed to write 
> hdfs://eyang-1.openstacklocal:8020/tmp/hive/hive/_tez_session_dir/6a2cab98-2e71-4223-bc9d-6301b3c6a5d5/hbase-client.jar.
>  Failing because I am unlikely to write too.
>       at 
> org.apache.hadoop.hive.ql.exec.tez.DagUtils.localizeResource(DagUtils.java:1002)
>       at 
> org.apache.hadoop.hive.ql.exec.tez.DagUtils.addTempResources(DagUtils.java:882)
>       at 
> org.apache.hadoop.hive.ql.exec.tez.DagUtils.localizeTempFilesFromConf(DagUtils.java:809)
>       at 
> org.apache.hadoop.hive.ql.exec.tez.TezSessionState.refreshLocalResourcesFromConf(TezSessionState.java:258)
>       at 
> org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:157)
>       at 
> org.apache.hadoop.hive.ql.exec.tez.TezSessionState.open(TezSessionState.java:116)
>       at 
> org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:557)
>       ... 8 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to