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

Mark Grover commented on BIGTOP-1338:
-------------------------------------

I poked some more and at this point, I am not in favor of creating /usr/bin 
scripts for these scripts and here is why:
1. They are pretty generic names, putting a generic client binary (like 
metatool or schematool) in /usr/bin is going to lead to confusion.
2. These scripts are used rarely:
metatool is used to change Hive metadata. Here is some context:
Hive metadata stores the complete FQDN for namenode. However, this becomes a 
problem with NameNode HA where in case of an automatic failover, this name has 
to be dynamically changed. Consequently, a change was made in Hive to store an 
alias for namenode FQDN in metadata and this alias will be substituted with the 
appropriate name of the active NN in an HA set up. But to allow for folks to 
change their existing metadata from their original NN name to this new alias, a 
new tool was needed to do this bulk change. That tool is metatool. So, it's 
used rarely and it's most common use-case is the one time when a non-HDFS-HA 
cluster is migrated to be a HDFS-HA cluster.

schematool is used a little more frequently but still not as frequently. Hive 
metastore schema has, and is, evolving over time. To track this, Hive is 
assigning version numbers to such schema definitions and offers scripts for 
each backend DB (derby, MySQL, PostgreSQL, etc.) to migrate from one version to 
another. When upgrading Hive across versions which involve metadata changes, 
users can use this tool to update the hive metadata schema. However, they can 
also, directly invoke the scripts available in Hive without using the tool.

In any case, if you look at scripts like hive, beeline, etc. which users use in 
their day-to-day life, the schematool and metatool scripts are used much less 
frequently and given their rather generic name, I am personally of the opinion, 
they are better off left without /usr/bin binaries. I am happy to listen though 
if you disagree.

> Provide wrapper for metatool and schematool
> -------------------------------------------
>
>                 Key: BIGTOP-1338
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-1338
>             Project: Bigtop
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Guo Ruijing
>
> bigtop provided wrapper for hive, beeline & hiveserver2 in 
> ./bigtop-packages/src/common/hive/install_hive.sh as:
> /usr/bin/hive --> /usr/lib/hive/bin/hive
> /usr/bin/beeline --> /usr/lib/hive/bin/beeline
> bigtop may provide wrapper for metatool & schematool as:
> /usr/bin/metatool --> /usr/lib/hive/bin/metatool
> /usr/bin/schematool --> /usr/lib/hive/bin/schematool



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to