我已将Spark配置为在hive表上进行查询。
使用以下命令运行Thrift JDBC / ODBC服务器:
cd $SPARK_HOME
./sbin/start-thriftserver.sh --master spark://myhost:7077 --hiveconf hive.server2.thrift.bind.host=myhost --hiveconf hive.server2.thrift.port=9999
然后检查了Spark worker UI,执行程序启动失败并出现以下错误,JVM初始化失败,因为错误-Xms:
Invalid initial heap size: -Xms0M
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
以下是 conf / spark-env.sh
中更改的配置export SPARK_JAVA_OPTS="-Dspark.executor.memory=512M"
export SPARK_EXECUTOR_MEMORY=1G
export SPARK_DRIVER_MEMORY=512M
export SPARK_WORKER_MEMORY=2G
export SPARK_WORKER_INSTANCES=1
我真的不知道这个值 -Xms0M 的来源或者它是如何派生的? 请帮助我理解问题并更改此值。
答案 0 :(得分:0)
现在正在工作......
Thrift服务器没有从 spark-env.sh 中选择执行程序内存,然后我明确地在thrift服务器启动脚本中添加了。
<强> ./ sbin目录/ start-thriftserver.sh 强>
exec "$FWDIR"/sbin/spark-daemon.sh spark-submit $CLASS 1 --executor-memory 512M "$@"
有了这个,Executor开始获得有效的内存,JDBC查询得到了结果。
conf / spark-env.sh (执行器内存配置未被thrift-server选取)
export SPARK_JAVA_OPTS="-Dspark.executor.memory=512M"
export SPARK_EXECUTOR_MEMORY=512M