这是我们使用 apache spark 和 hadoop 等大数据的第一步。
我们安装了 Cloudera CDH 5.3。从cloudera manager我们选择安装spark。 Spark 在集群中的一个节点中启动并运行良好。
我在我的机器上创建了一个小应用程序,它连接以读取存储在 hadoop HDFS 上的文本文件。
我正在尝试从 Eclipse 运行应用程序并显示这些消息
15/02/11 14:44:01 INFO client.AppClient$ClientActor:连接到主 spark://10.62.82.21:7077...
11 年 2 月 15 日 14:44:02 警告 client.AppClient$ClientActor:无法连接到 akka.tcp://sparkMaster@10.62.82.21:7077:akka.remote.InvalidAssociation:无效地址:akka.tcp://sparkMaster@10.62.82.21:7077
11 年 2 月 15 日 14:44:02 警告远程处理:试图与无法访问的远程地址 [akka.tcp://sparkMaster@10.62.82.21:7077] 关联。地址现在被门控 5000 毫秒,所有发往该地址的消息都将传送到死信。原因:连接被拒绝:没有更多信息:/10.62.82.21:7077
应用程序有一个类,使用以下行创建上下文
JavaSparkContext sc = new JavaSparkContext(new SparkConf().setAppName("Spark Count").setMaster("spark://10.62.82.21:7077"));
这个 IP 是机器 spark 工作的 IP。
然后我尝试使用以下行从 HDFS 读取文件
sc.textFile("hdfs://10.62.82.21/tmp/words.txt")
当我运行应用程序时,我得到了
最佳答案
检查您的 Spark master 日志,您应该会看到如下内容:
15/02/11 13:37:14 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkMaster@mymaster:7077]
15/02/11 13:37:14 INFO Remoting: Remoting now listens on addresses: [akka.tcp://sparkMaster@mymaster:7077]
15/02/11 13:37:14 INFO Master: Starting Spark master at spark://mymaster:7077
然后当你连接到 master 时,一定要使用与上面日志中找到的完全相同的主机名(不要使用 IP 地址):
.setMaster("spark://mymaster:7077"));
Spark standalone 对主机名/IP 的东西有点挑剔。
关于hadoop - Apache Spark 错误 : Could not connect to akka. tcp://sparkMaster@,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453835/