Updated Branches:
  refs/heads/master ebd4f6882 -> 3605222e0

BIGTOP-861. init-hdfs.sh does not work from init scripts

init-hdfs.sh does not work from init scripts because it uses sudo, which 
requires a login shell.
This patch replaces the use of sudo by su


Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/3605222e
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/3605222e
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/3605222e

Branch: refs/heads/master
Commit: 3605222e02181a70ff2b410ce1838d78eab85e8e
Parents: ebd4f68
Author: Bruno Mahé <[email protected]>
Authored: Thu Mar 7 00:55:21 2013 -0800
Committer: Roman Shaposhnik <[email protected]>
Committed: Fri Mar 8 17:20:54 2013 -0800

----------------------------------------------------------------------
 bigtop-packages/src/common/hadoop/init-hdfs.sh |   82 +++++++++---------
 1 files changed, 41 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bigtop/blob/3605222e/bigtop-packages/src/common/hadoop/init-hdfs.sh
----------------------------------------------------------------------
diff --git a/bigtop-packages/src/common/hadoop/init-hdfs.sh 
b/bigtop-packages/src/common/hadoop/init-hdfs.sh
index 57496a8..de43564 100755
--- a/bigtop-packages/src/common/hadoop/init-hdfs.sh
+++ b/bigtop-packages/src/common/hadoop/init-hdfs.sh
@@ -18,62 +18,62 @@
 # Use this script to initialize HDFS directory structure for various 
components to run. This script can be run from any node in the Hadoop cluster 
but should only be run once by one node only. If you are planning on using 
oozie, we recommend that you run this script from a node that has hive, pig, 
sqoop, etc. installed. Unless you are using psuedo distributed cluster, this 
node is most likely NOT your namenode
 # Steps to be performed before running this script:
 # 1. Stop the namenode and datanode services if running.
-# 2. Format namenode (sudo -u hdfs hdfs namenode -format).
+# 2. Format namenode (su -s /bin/bash hdfs hdfs namenode -format).
 # 3. Start the namenode and datanode services on appropriate nodes.
-sudo -u hdfs hadoop fs -mkdir /tmp
-sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
-sudo -u hdfs hadoop fs -mkdir /var
-sudo -u hdfs hadoop fs -mkdir /var/log
-sudo -u hdfs hadoop fs -chmod -R 1775 /var/log
-sudo -u hdfs hadoop fs -chown yarn:mapred /var/log
-sudo -u hdfs hadoop fs -mkdir /hbase
-sudo -u hdfs hadoop fs -chown hbase /hbase
-sudo -u hdfs hadoop fs -mkdir /benchmarks
-sudo -u hdfs hadoop fs -chmod -R 777 /benchmarks
-sudo -u hdfs hadoop fs -mkdir /user
-sudo -u hdfs hadoop fs -mkdir /user/history
-sudo -u hdfs hadoop fs -chown mapred /user/history
-sudo -u hdfs hadoop fs -mkdir /user/jenkins
-sudo -u hdfs hadoop fs -chmod -R 777 /user/jenkins
-sudo -u hdfs hadoop fs -chown jenkins /user/jenkins
-sudo -u hdfs hadoop fs -mkdir /user/hive
-sudo -u hdfs hadoop fs -chmod -R 777 /user/hive
-sudo -u hdfs hadoop fs -chown hive /user/hive
-sudo -u hdfs hadoop fs -mkdir /user/root
-sudo -u hdfs hadoop fs -chmod -R 777 /user/root
-sudo -u hdfs hadoop fs -chown root /user/root
-sudo -u hdfs hadoop fs -mkdir /user/hue
-sudo -u hdfs hadoop fs -chmod -R 777 /user/hue
-sudo -u hdfs hadoop fs -chown hue /user/hue
-sudo -u hdfs hadoop fs -mkdir /user/oozie
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /tmp'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 1777 /tmp'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /var'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /var/log'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 1775 /var/log'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown yarn:mapred /var/log'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /hbase'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown hbase /hbase'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /benchmarks'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 777 /benchmarks'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/history'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown mapred /user/history'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/jenkins'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 777 /user/jenkins'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown jenkins /user/jenkins'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/hive'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 777 /user/hive'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown hive /user/hive'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/root'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 777 /user/root'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown root /user/root'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/hue'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 777 /user/hue'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown hue /user/hue'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/oozie'
 # Do more setup for oozie
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib/hive
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib/mapreduce-streaming
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib/distcp
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib/pig
-sudo -u hdfs hadoop fs -mkdir /user/oozie/share/lib/sqoop
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/oozie/share'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/oozie/share/lib'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/oozie/share/lib/hive'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir 
/user/oozie/share/lib/mapreduce-streaming'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir 
/user/oozie/share/lib/distcp'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/oozie/share/lib/pig'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -mkdir /user/oozie/share/lib/sqoop'
 # Copy over files from local filesystem to HDFS that oozie might need
 if ls /usr/lib/hive/lib/*.jar &> /dev/null; then
-  sudo -u hdfs hadoop fs -put /usr/lib/hive/lib/*.jar 
/user/oozie/share/lib/hive
+  su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -put /usr/lib/hive/lib/*.jar 
/user/oozie/share/lib/hive'
 fi
 
 if ls /usr/lib/hadoop-mapreduce/hadoop-streaming*.jar &> /dev/null; then
-  sudo -u hdfs hadoop fs -put /usr/lib/hadoop-mapreduce/hadoop-streaming*.jar 
/user/oozie/share/lib/mapreduce-streaming
+  su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -put 
/usr/lib/hadoop-mapreduce/hadoop-streaming*.jar 
/user/oozie/share/lib/mapreduce-streaming'
 fi
 
 if ls /usr/lib/hadoop-mapreduce/hadoop-distcp*.jar &> /dev/null; then
-  sudo -u hdfs hadoop fs -put /usr/lib/hadoop-mapreduce/hadoop-distcp*.jar 
/user/oozie/share/lib/distcp
+  su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -put 
/usr/lib/hadoop-mapreduce/hadoop-distcp*.jar /user/oozie/share/lib/distcp'
 fi
 
 if ls /usr/lib/pig/{lib/,}*.jar &> /dev/null; then
-  sudo -u hdfs hadoop fs -put /usr/lib/pig/{lib/,}*.jar 
/user/oozie/share/lib/pig
+  su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -put /usr/lib/pig/{lib/,}*.jar 
/user/oozie/share/lib/pig'
 fi
 
 if ls /usr/lib/sqoop/{lib/,}*.jar &> /dev/null; then
-  sudo -u hdfs hadoop fs -put /usr/lib/sqoop/{lib/,}*.jar /user/share/lib/sqoop
+  su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -put /usr/lib/sqoop/{lib/,}*.jar 
/user/share/lib/sqoop'
 fi
 
-sudo -u hdfs hadoop fs -chmod -R 777 /user/oozie
-sudo -u hdfs hadoop fs -chown -R oozie /user/oozie
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chmod -R 777 /user/oozie'
+su -s /bin/bash hdfs -c '/usr/bin/hadoop fs -chown -R oozie /user/oozie'

Reply via email to