Apache spark Spark Shell在本地主机上侦听,而不是在配置的IP地址上侦听
我试图通过spark shell运行一个简单的spark作业,它看起来像 spark shell的BlockManager在本地主机上侦听,而不是在配置的IP上侦听 导致spark作业失败的地址。引发的异常为“未能连接到本地主机” 以下是我的配置: 机器1(ubunt64):火花主机[192.168.253.136] 机器2(UBUNTU64服务器):火花从机[192.168.253.137] 机器3(ubuntu64server2):Spark Shell客户端[192.168.253.138] Spark版本:Spark-1.3.0-bin-hadoop2.4 环境:Ubuntu 14.04 要在Spark Shell中执行的源代码:Apache spark Spark Shell在本地主机上侦听,而不是在配置的IP地址上侦听,apache-spark,Apache Spark,我试图通过spark shell运行一个简单的spark作业,它看起来像 spark shell的BlockManager在本地主机上侦听,而不是在配置的IP上侦听 导致spark作业失败的地址。引发的异常为“未能连接到本地主机” 以下是我的配置: 机器1(ubunt64):火花主机[192.168.253.136] 机器2(UBUNTU64服务器):火花从机[192.168.253.137] 机器3(ubuntu64server2):Spark Shell客户端[192.168.253.138
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
var conf = new SparkConf().setMaster("spark://192.168.253.136:7077")
conf.set("spark.driver.host","192.168.253.138")
conf.set("spark.local.ip","192.168.253.138")
sc.stop
var sc = new SparkContext(conf)
val textFile = sc.textFile("README.md")
textFile.count()
如果我在从机所在的机器2上运行上述代码,则该代码仅适用于该文件
正在运行,但在机器1(主机)和机器3(火花壳)上出现故障
不确定spark shell为什么在本地主机上侦听而不是
配置的IP地址。我已经在机器3上使用SPARK-env.sh以及在.bashrc中设置了SPARK_LOCAL_IP(export SPARK_LOCAL_IP=192.168.253.138)。我确认spark shell java程序确实在端口44015上侦听。不确定spark shell为什么广播本地主机地址
我们将非常感谢您为解决此问题提供的任何帮助。可能是吧
缺少一些配置设置
日志:
scala>val textFile=sc.textFile(“README.md”)
15/04/22 18:15:22信息内存存储:使用curMem=0、maxMem=280248975调用EnsureRefreeSpace(163705)
15/04/22 18:15:22信息内存存储:块广播0存储为内存中的值(估计大小159.9 KB,可用容量267.1 MB)
15/04/22 18:15:22信息内存存储:使用curMem=163705、maxMem=280248975调用EnsureRefreeSpace(22692)
15/04/22 18:15:22信息存储器存储:块广播\u 0\u片段0以字节形式存储在内存中(估计大小为22.2 KB,可用容量为267.1 MB)
15/04/22 18:15:22信息块管理信息:在本地主机44015的内存中添加了广播块0(大小:22.2 KB,可用空间:267.2 MB)
scala>textFile.count()
15/04/22 18:16:07信息计划程序:提交阶段0中缺少的2个任务(位于:25的文本文件中的README.md MapPartitionsRDD[1])
15/04/22 18:16:07信息TaskSchedulerImpl:添加包含2个任务的任务集0.0
15/04/22 18:16:08信息任务集管理器:在阶段0.0中启动任务0.0(TID 0,ubuntu64server,PROCESS_LOCAL,1326字节)
15/04/22 18:16:23信息任务集管理器:在阶段0.0中启动任务1.0(TID 1,ubuntu64server,PROCESS_LOCAL,1326字节)
15/04/22 18:16:23警告TaskSetManager:在阶段0.0(TID 0,ubuntu64server)中丢失任务0.0:java.io.IOException:无法连接到本地主机/127.0.0.1:44015
位于org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:191)
位于org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:156)
在org.apache.spark.network.netty.NettyBlockTransferService$$anon$1.createAndStart(NettyBlockTransferService.scala:78)
位于org.apache.spark.network.shuffle.RetryingBlockFetcher.fetchAllOutstanding(RetryingBlockFetcher.java:140)
位于org.apache.spark.network.shuffle.RetryingBlockFetcher.access$200(RetryingBlockFetcher.java:43)
位于org.apache.spark.network.shuffle.RetryingBlockFetcher$1.run(RetryingBlockFetcher.java:170)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
在java.util.concurrent.FutureTask.run(FutureTask.java:262)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
在java.lang.Thread.run(Thread.java:745)中,通过在shell启动时提供spark主地址(或者可以在spark defaults.conf中找到解决此BlockManager本地主机问题的方法 这样,我就不必停止spark上下文,原始上下文能够读取文件以及从Cassandra表读取数据 以下是BlockManager在本地主机上侦听的日志(停止并动态创建上下文),该日志因“连接失败异常”而失败 比较监听实际的服务器名(如果命令行中提供了spark master)是否有效
15/04/25 07:12:47 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on ubuntu64server2:33301 (size: 1966.0 B, free: 267.2 MB)
在shell中动态创建上下文时,BlockManager代码中的错误
希望这对其他人有所帮助。检查过您的/etc/hosts文件条目吗?谢谢@hnahak。ubuntu64server2(spark shell主机)上/etc/hosts的内容。192.168.253.138 ubuntu64server2 192.168.253.136 ubuntu64 192.168.253.137 ubuntu64server#127.0.0.1本地主机仍收到相同错误:15/04/23 05:52:29警告TaskSetManager:在阶段0.0中丢失任务0.0(TID 0,ubuntu64server):java.io.IOException:无法连接到localhost/127.0.0.1:54083我可以看到ubuntu64server2正在侦听端口54083,但在主机0.0.0.0.0.0:54083 0.0.0:*侦听
15/04/25 07:10:27 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on localhost:40235 (size: 1966.0 B, free: 267.2 MB)
15/04/25 07:12:47 INFO BlockManagerInfo: Added broadcast_1_piece0 in memory on ubuntu64server2:33301 (size: 1966.0 B, free: 267.2 MB)