Linux
如何使用使用者 hdfs 從 root 執行 CLI
當我從 hdfs 使用者執行以下 cli 時,它執行良好
# su hdfs $ hadoop fs -du -s /home/test/* | awk '{ sum += $1 } END { print sum }' 4182692
但是當我從 root 執行它時,使用 su -l hdfs 然後我得到
su -l hdfs -c " hadoop fs -du -s /home/test/* | awk '{ sum += $1 } END { print sum }' " awk: cmd. line:1: { sum += } END { print sum } awk: cmd. line:1: ^ syntax error ^C Session terminated, killing shell... ...killed.
當我錯了?
需要執行的命令
hdfs
更短。你的東西像:su -l hdfs -c "hadoop fs -du -s /home/test/*" | awk '{ sum += $1 } END { print sum }'
並更好地
sudo
用於此目的:sudo -u hdfs "hadoop fs -du -s /home/test/*" | awk '{ sum += $1 } END { print sum }'