我的Hadoop版本:2.7.3, Spark版本:2.1.2,4台虚拟机,master,data1,data2,data3的伪分布式。
参考的方法 http://www.cnblogs.com/tibit/p/7337045.html
http://blog.csdn.net/chengyuqiang/article/details/69934382
spark-env.sh中加上配置
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop
yarn-site.xml的中加上
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
解释
yarn.nodemanager.vmem-pmem-ratio
任务每使用1MB物理内存,最多可使用虚拟内存量,默认是2.1。
yarn.nodemanager.pmem-check-enabled
是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
yarn.nodemanager.vmem-check-enabled
是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
用了上述方法,重启hadoop, spark 还是不对,
最后发现我的测试集群上三个节点的文件yarn-site.xml文件不一致,配置成一样的就成功了,太傻缺了。。。。
spark-shell --master=yarn --deploy-mode=client