设置pyspark jvm内存(Xmx)

时间:2018-04-30 15:35:38

标签: apache-spark pyspark

当我运行用pyspark编写的spark作业时,我得到一个jvm运行,其中Xmx1g设置似乎无法设置。这是ps aux输出:

 /usr/lib/jvm/jre/bin/java -cp /home/ec2-user/miniconda3/lib/python3.6/site-packages/pyspark/conf:/home/****/miniconda3/lib/python3.6/site-packages/pyspark/jars/* -Xmx1g org.apache.spark.deploy.SparkSubmit pyspark-shell

我的问题是,如何设置此属性?我可以使用SPARK_DAEMON_MEMORYSPARK_DRIVER_MEMORY来设置主内存,但这不会影响pyspark的衍生过程。

我已经尝试JAVA_OPTS或实际查看了包/bin文件,但无法理解其设置位置。

在作业环境中设置spark.driver.memoryspark.executor.memory也无济于事。

编辑:

在使用spark-submit提交作业后(代码和基础设施从独立配置中获得) - 一切都已解决。以编程方式提交(使用SparkConf)似乎会覆盖群集的某些设置。

1 个答案:

答案 0 :(得分:-1)

你可以在spark-submit之后使用--conf spark.driver.extraJavaOptions和--conf spark.executor.extraJavaOptions,例如:

var http = require('http');
var port = 3000;

var http_server = http.createServer()

http_server.on('request', (request, response) => {
    console.log('Request: '+ request.url);
    //var message = request.url;
    var message = 'test';
    var udp_client = dgram.createSocket('udp4');
    udp_client.send(message, 0, message.length, 27994, '10.119.233.11', function(err, bytes) {
        if (err) throw err;
        console.log('UDP message sent to ' + HOST +':'+ PORT);
        console.log(err);
    });
    response.end('done');
});