Spark学习中连接hdfs用户名设置问题

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))

你可能感兴趣的:(错误处理)