You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Arpit Agarwal (JIRA)" <ji...@apache.org> on 2017/10/24 19:26:00 UTC
[jira] [Created] (HDFS-12706) Allow overriding
HADOOP_SHELL_EXECNAME
Arpit Agarwal created HDFS-12706:
------------------------------------
Summary: Allow overriding HADOOP_SHELL_EXECNAME
Key: HDFS-12706
URL: https://issues.apache.org/jira/browse/HDFS-12706
Project: Hadoop HDFS
Issue Type: Improvement
Reporter: Arpit Agarwal
Some Hadoop shell scripts infer their own name using this bit of shell magic:
{code}
18 MYNAME="${BASH_SOURCE-$0}"
19 HADOOP_SHELL_EXECNAME="${MYNAME##*/}"
{code}
e.g. see the [hdfs|https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/hdfs#L18] script.
The inferred shell script name is later passed to _hadoop-functions.sh_ which uses it to construct the names of some environment variables. E.g. when invoking _hdfs datanode_, the options variable name is inferred as follows:
{code}
# HDFS + DATANODE + OPTS -> HDFS_DATANODE_OPTS
{code}
This works well if the calling script name is standard {{hdfs}} or {{yarn}}. If a distribution renames the script to something like foo.bar, , then the variable names will be inferred as {{FOO.BAR_DATANODE_OPTS}}. This is not a valid bash variable name.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org