为什么我有这个需求?
因为我需要使用spark-shell和spark sql命令行. 但是公司只有一个spark容器,主要作用是spark history,根本没打算给我们提供正经的spark shell或者sparksql功能.
核心问题是 内存吃紧,spark-shell根本无法启动,直接报错 exit kill shell ... 退出.或者根本进不去.
那么. 两种方法:
方法1: 把spark容器的spark目录拷贝到其他内存大的容器. 在其他容器内跑.
方法2:修改增加容器内存.
// ps:不要在线上这么搞. 测试开发环境可以搞.
修改完立即生效

-- dir666 这么名字随便写.
内存单位 B. 所以值 = nGB * 1024 * 1024 * 1024
一个pod下可能有多个容器 所以pod的内存 >= 内部容器申请的内存.
注意: 看现象,增加内存后貌似容器内服务都被kill了. 自己去验证.
- docker ps|grep spark // 得到容器id 89c90f473d95
- docker inspect 89c90f473d95 |grep Cgroup // 得到相对路径 "CgroupParent": "/kubepods/burstable/