Spark学習での接続hdfsユーザー名設定の問題
Connection Hdfs Username Setting Problem Spark Learning
Spark学習での接続hdfsユーザー名設定の問題
ご存知のとおり、hdfs System.setProperty('HADOOP_USER_NAME', 'hadoop')
を接続するときに使用する必要があります。マシンのユーザー名をhadoopクラスターのユーザー名に設定します。私が使用しているユーザー名はhadoopですが、プログラムが正しく実行されません。 Permission denied: user=littleff, access=WRITE, inode='/check':hadoop:supergroup:drwxr-xr-x
は、ユーザー名が正常に変更されていないことを示しています。
val spark = SparkSession.builder().appName('Streaming').master('local[2]').getOrCreate() val sc = spark.sparkContext val ssc = new StreamingContext(sc, Seconds(5)) System.setProperty('HADOOP_USER_NAME', 'hadoop')
System.setProperty( 'HADOOP_USER_NAME'、 'hadoop')は、sparkContextが確立された後に書き込まれます。この時点で、プログラムは実際のホスト名でクラスターにすでに登録されています。したがって、ホスト名の変更は無効です。行コードを先頭に移動するだけです。できる
System.setProperty('HADOOP_USER_NAME', 'hadoop') val spark = SparkSession.builder().appName('Streaming').master('local[2]').getOrCreate() val sc = spark.sparkContext val ssc = new StreamingContext(sc, Seconds(5))