This is to deploy a hadoop client with some user besides hadoop admin user to connect an acl(configure user access permission ) enabled hadoop.
At client node:
- Useradd client user. Here client user will be "chenfangfang". Hadoop cluster admin user is "hadoop".
- Edit client node /etc/hosts, to make sure this client could access existing hadoop cluster.
- Copy hadoop package to client node as user "chenfangfang".
- Configure environment variables:
HADOOP_COMMON_HOME="/home/chenfangfang/hadoop"
HADOOP_CONF_DIR="/home/chenfangfang/hadoop/etc/hadoop"
HADOOP_HDFS_HOME="/home/chenfangfang/hadoop"
HADOOP_HOME="/home/chenfangfang/hadoop"
HADOOP_MAPRED_HOME="/home/chenfangfang/hadoop"
At hadoop cluster node:
- Create user directory and grant:
hdfs mkdir /user/chenfangfang
hdfs dfs -setfacl -m user:chenfangfang:rwx /user/chenfangfang
hdfs dfs -setfacl -m group:chenfangfang:rwx /user/chenfangfang
hdfs dfs -getfacl /user/chenfangfang - Grant log dir to users, this is to make sure client could launch jobs
hdfs dfs -setfacl -m group:chenfangfang:rwx /tmp
hdfs dfs -setfacl -m user:chenfangfang:rwx /tmp
hdfs dfs -setfacl -m group:chenfangfang:rwx /tmp/hadoop-yarn
hdfs dfs -setfacl -m user:chenfangfang:rwx /tmp/hadoop-yarn
hdfs dfs -setfacl -m group:chenfangfang:rwx /tmp/hadoop-yarn/staging
hdfs dfs -setfacl -m user:chenfangfang:rwx /tmp/hadoop-yarn/staging