Below some parameterised user management scripts for creating Unix users, and associated HDFS paths.
create_user.sh
#!/bin/bash
# Call this script with 2 parameters, i.e. create_user.sh username password
usage()
{
echo “Usage pass in username and password i.e. : create_user.sh username password”
}
if [ $# -ne 2 ] ; then
usage
else
echo “Username is $1”
echo “Password is $2”
echo “Creating User ” $1
sudo su – root sh -c “useradd $1”
echo “Setting Password “
echo “$1:$2” | sudo su – root sh -c chpasswd
echo “finished adduser for user ” $1
echo “Setting Groups for user ” $1
sudo su – root sh -c “usermod -a -G hive,hadoop $1”
echo “Creating HDFS folders and setting permissions for User ” $1
sudo -u hdfs hadoop fs -mkdir /user/$1
sudo -u hdfs hadoop fs -chown $USER /user/$1
echo “Finished HDFS setup”
fi
remove_user.sh
#!/bin/bash
# Call this script with 1 parameters, i.e. remove_user.sh username
usage()
{
echo “Usage pass in username i.e. : remove_user.sh username “
}
if [ $# -ne 1 ] ; then
usage
else
echo “Remove User ” $1
sudo su – root sh -c “userdel -r $1”
echo “Finished removing user ” $1
echo “Removing HDFS folders and setting permissions for User ” $1
sudo -u hdfs hadoop fs -rmr /user/$1
echo “Finished removing HDFS setup”
fi