在使用spark时,默认内存的分配为1GB,但是由于学习环境有限,服务器内存太小不能满足最小内存(1GB)。当在启动spark-shell后,可能过会儿就被kill掉了,比如:
scala> bin/spark-shell: line 44: 9896 Killed "${SPARK_HOME}"/bin/spark-submit --class org.apache.spark.repl.Main --name "Spark shell" "$@"
遇到此问题可以创建swap交换区:
Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
步骤如下(使用root用户):
1.创建一个用于交换的文件
fallocate -l 2G /swapfile
2.设置正确的权限
chmod 600 /swapfile
3.设置linux交换区
mkswap -f /swapfile
4.启用交换
swapon /swapfile
每次自动启用,则在vim /etc/fstab文件并添加以下行 :
/swapfile swap swap defaults 0 0
5.查看
free -h
显示如下则成功创建交换区:
到此内存的问题就解决了!