【发布时间】:2017-05-25 00:45:43
【问题描述】:
我是 Spark 和 Hadoop 的新手。我正在尝试使用 Spark 2.0 设置 EC2 集群。
我将一个文件复制到临时 HDFS 并且可以看到它在使用 cd ../.
root@ip-172-31-58-53 bin]$ ./hadoop fs -ls /root/
Warning: $HADOOP_HOME is deprecated.
Found 2 items
drwxr-xr-x - root supergroup 0 2017-05-23 12:08
/root/_distcp_logs_sls6bc
-rw-r--r-- 3 root supergroup 543046714 2017-05-23 12:08
/root/input.csv
这是我提交的python代码:
import sys
import numpy as np
from pyspark.sql import SparkSession
if __name__ == "__main__":
spark = SparkSession\
.builder\
.appName("MatrixMult")\
.getOrCreate()
df = spark.read.option("header","true").csv("hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000/root/input.csv")
df.show(10)
spark.close()
我的 hadoop core-site.xml 有以下设置:
<property>
<name>fs.default.name</name>
<value>hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000</value>
</property>
这是我提交作业时遇到的错误:
Traceback (most recent call last):
File "/root/python_code/matrix_mult.py", line 12, in <module>
df = spark.read.option("header","true").csv("hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000/root/input.csv")
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/readwriter.py", line 380, in csv
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1133, in __call__
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py", line 319, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o32.csv.
: java.io.IOException: Failed on local exception: java.io.IOException: Broken pipe; Host Details : local host is: "ip-172-31-58-53.ec2.internal/172.31.58.53"; destination host is: "ec2-54-144-193-191.compute-1.amazonaws.com":9000;
...
知道为什么会发生这种情况吗?关于如何调试它的任何提示?我尝试过使用内部名称,但这也不起作用。提前致谢。
【问题讨论】:
-
#!/usr/bin/python在顶部?
标签: hadoop apache-spark amazon-ec2 pyspark hdfs