使用Apache spark 1.1.0
和hadoop 2.4
还有我的cluster is on CDH 5.1.3
我尝试使用以下命令启动spark with yarn
。
./spark-shell --master yarn
./spark-shell --master yarn-client
我得到了以下异常:
2015年10月14日21:33:32信息集群。YarnClientSchedulerBackend:应用程序来自ASM的报告:appMasterRpcPort:0应用程序开始时间:141338899108yarnAppState:正在运行
2015年10月14日21:33:44错误集群。YarnClientSchedulerBackend:纱线应用程序已结束:失败
======节点管理器异常====================================
原因:org.apache.haop.ipc.RemoteException(org.apache.hadop.yarn.exceptions.InvalidResourceRequestException):无效的资源请求,请求的内存<0,或请求的内存>最大配置,requestedMemory=1408,最大内存=1024org.apache.hoop.syar.server.resourcemanager.scheduler.SchedulerUtils.validateResourceRequest(SchedulerUtils.java:228)在org.apache.hadop.yarn.server.resourcemanager.RMServerUtils.validateResourceRequest(RMServerUtils.java:80)在org.apache.hadop.yarn.server.resourcemanager.ApplicationMasterService.allocate(ApplicationMasterService.java:444)在org.apache.hadop.yarn.api.impl.pb.service.ApplicationMasterProtocolPBServiceImpl.allocate(ApplicationMasterProtocol PBServiceImpl.java:60)在org.apache.hadop.yarn.proto.ApplicationMasterProtocol$ApplicationMasterProtocol Service$2.callBlockingMethod(ApplicationMasterProtocol.java:99)在org.apache.hadop.ipc.ProtobufRpcEngine$Server$ProtobufRpc invoker.call(ProtobufRpcEngine.java:585)网址:org.apache.hadop.ipc.RPC$Server.call(RPC.java:1026)org.apache.hadop.ipc.Server$Handler$1.run(Server.java:1986)org.apache.hadop.ipc.Server$Handler$1.run(Server.java:1982)位于的java.security.AccessController.doPrivileged(本机方法)位于的javax.security.auth.Subject.doAs(Subject.java:396)org.apache.hoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1554)网址:org.apache.hadop.ipc.Server$Handler.run(Server.java:1980)
网址:org.apache.hadop.ipc.Client.call(Client.java:1410)org.apache.hadop.ipc.Client.call(Client.java:1363)org.apache.hadop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpc Engine.java:206)位于$Proxy11。在分配(未知源)org.apache.hadop.yarn.api.impl.pb.client.ApplicationMasterProtocolPBClientImpl.allocate(ApplicationMasterProtocol PBClientImpl.java:77)…还有20个
根据您的YARN配置,应用程序可以为容器请求的最大内存为1024MB。但是spark客户端正在请求一个1408MB的容器。要么更改spark的配置文件以请求更少的RAM,要么提高YARN中的最大内存。