K8中的Spark-WARN TaskSchedulerImpl:初始作业未接受任何资源。但是实际上有很多资源

时间:2020-07-22 03:50:55

标签: apache-spark pyspark

我在K8环境中奔跑着:一个主人和三个工人。

我在计算机上运行的python 3.7.5中具有以下代码:

import pyspark
from pyspark import SparkConf, SparkContext
from pyspark.sql import SparkSession
from pyspark.ml.fpm import FPGrowth
import pickle
import os 

dir_path = os.path.dirname(os.path.realpath(__file__))

# Create Spark context

spark = SparkSession.builder.master('spark://10.201.30.88:31071')\
         .appName('di_mb_spark_remote') \
         .config("spark.cores.max", "15") \
         .config("spark.executor.memory", "20g")\
         .getOrCreate()    


sc = spark.sparkContext

sqlContext = pyspark.SQLContext(sc)

# Load rules data
file_lines = []
with open(dir_path + '/data/input.txt','rt') as  input_file:
    all_lines_data = input_file.readlines()
    for  line in all_lines_data:
       line_list = line.replace('\n','').split(' ')
       file_lines.append(line_list)

# add ID column
final_data = []
count = 0
for item in file_lines:
    final_data.append((count, item))
    count += 1
file_lines=[]

# Convert list to RDD
rdd = sc.parallelize(final_data,numSlices=500)

spark_df = sqlContext.createDataFrame(rdd, ["id","items"])    <==== ERROR  HERE

...
...

完整错误提示:

WARN TaskSchedulerImpl:初始作业没有接受任何资源;检查您的群集用户界面,以确保工作人员已注册并拥有足够的资源

但是,如果您查看可用资源(或者至少是Spark Master可以看到的资源):

Spark Cluster

对于POD定义,在RAM和CPU方面没有设置限制。主人和工人只是“请求” CPU:100m

感谢帮助。

0 个答案:

没有答案