使用spark,如何连接主机或解决错误:“warn taskschedulerimpl:initial job has not accepted any resources”

fslejnso  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(650)

请告诉我如何解决下列问题。
首先,我确认以下代码在master为“local”时运行。
然后我启动了两个ec2示例(m1.large)。但是,当主人spark://master_public_dns:7077”,出现错误消息“taskschedulerimpl”,但失败。
当我作为主机更改为无效地址时(spark://invalid_dns:7077)从有效地址显示相同的错误消息。
即“warn taskschedulerimpl:初始作业未接受任何资源;检查群集ui以确保工作进程已注册并且有足够的内存“
好像是这样。作为这个注解,我为这个集群分配了12g内存,但是失败了。


# !/usr/bin/env python

# -*- coding: utf-8 -*-

from pyspark import SparkContext, SparkConf 
from pyspark.mllib.classification import LogisticRegressionWithSGD 
from pyspark.mllib.regression import LabeledPoint 
from numpy import array 

# Load and parse the data

def parsePoint(line): 
  values = [float(x) for x in line.split(' ')] 
  return LabeledPoint(values[0], values[1:]) 
appName = "testsparkapp" 
master = "spark://MASTER_PUBLIC_DNS:7077" 

# master = "local"

conf = SparkConf().setAppName(appName).setMaster(master) 
sc = SparkContext(conf=conf) 

data = sc.textFile("/root/spark/mllib/data/sample_svm_data.txt") 
parsedData = data.map(parsePoint) 

# Build the model

model = LogisticRegressionWithSGD.train(parsedData) 

# Evaluating the model on training data

labelsAndPreds = parsedData.map(lambda p: (p.label, model.predict(p.features))) 
trainErr = labelsAndPreds.filter(lambda (v, p): v != p).count() / float(parsedData.count()) 
print("Training Error = " + str(trainErr))

附加

我做了朋友建议我做的三件事。
1.我打开了主端口,7077。
2.在主url中,设置主机名而不是ip地址。
->因此,我能够连接主服务器(我通过集群ui检查了它)。
3.我试图设置worker\u max\u heap,如下所示,但可能失败了。
scalaconf().set(“spark.executor.memory”,“4g”).set(“worker\u max\u heapsize”,“2g”)
工人允许我使用6.3gb(我通过ui检查了它),它是m1.large。
->我在执行日志中识别出一个警告,在worker stderr中识别出一个错误。

我的执行日志

14/08/08 06:11:59 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory

工人标准

14/08/08 06:14:04 INFO worker.WorkerWatcher: Successfully connected to akka.tcp://sparkWorker@PRIVATE_HOST_NAME1:52011/user/Worker
14/08/08 06:15:07 ERROR executor.CoarseGrainedExecutorBackend: Driver Disassociated [akka.tcp://sparkExecutor@PRIVATE_HOST_NAME1:52201] -> [akka.tcp://spark@PRIVATE_HOST_NAME2:38286] disassociated! Shutting down.
7kjnsjlb

7kjnsjlb1#

spark-ec2脚本将ec2中的spark集群配置为独立的,这意味着它不能与远程提交一起工作。我已经和你描述的这个错误斗争了好几天才发现它不受支持。不幸的是消息错误。
因此,你必须复制你的东西,并登录到主执行你的Spark任务。

相关问题