HDFS操作メモ
ちょいとHDFS操作でてんてこまいになったのでメモ
セットアップ
hadoop namenode -format
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
な感じで起動しておく。その他設定は省略(但し、Hadoopの動作ユーザーはhadoopになってる)
/user/kinjoujなディレクトリをHDFS上に作る
大体、HDFS使うときって/user/ユーザー名な感じで使うと思うので作る
hadoop fs -mkdir /user/kinjouj
で作れる。のは良いんだけど、これhadoopユーザーでやってるのでもちろんHDFS上の管理ユーザーもhadoopになってる訳で、で一般ユーザーな自分のアカウント(kinjouj)で
hadoop fs -put data.txt data.txt
なんてやっても
org.apache.hadoop.security.AccessControlException: Permission denied: user=kinjouj, access=WRITE, inode="":hadoop:supergroup:rwxr-xr-x
な事言われちゃう訳で。まぁhadoopユーザーでやれば出来るんだけどそういう話じゃねーっていう事だと思うので、HDFS上の自分のユーザーディレクトリとなるところの所有者権限を自分に向ける
hadoop fs -chown -R kinjouj:kinjouj /user/kinjouj
な感じかと。あとは
hadoop fs -put data.txt data.txt
な感じで一般ユーザーでput出来る。