3

每次我尝试运行以下 Scala 命令时

val dataRDD =  sc.textFile("hdfs://quickstart.cloudera:8020/user/cloudera/data/data.txt")
    dataRDD.collect().foreach(println)
    //or
    dataRDD.count()

我得到以下异常 -

exitCodeException exitCode=1:   File "/etc/hadoop/conf.cloudera.yarn/topology.py", line 43 print default_rack^
SyntaxError: Missing parentheses in call to 'print'

-我在 Cloudera VM 上运行 Spark 1.6.0。还有其他人遇到过这样的问题吗?可能是什么原因?我知道这是由于'topology.py'文件试图在没有“(”的情况下打印python 3。但是为什么当我不运行python/pyspark时这个脚本会被执行。这只是发生通过 Cloudera VM,当我使用其他一些示例数据在 vm 之外运行时,这些命令起作用了!

4

1 回答 1

1

我知道这可能为时已晚,但我会以任何方式发布答案,以防任何其他用户面临同样的问题。

以上是已知问题,解决方法如下:

解决方法:向每个还没有至少一个 YARN 角色(任何类型)的主机添加一个 YARN 网关角色。需要在您遇到此问题的节点/主机上添加 YARN 网关。

于 2018-01-10T02:45:39.063 回答