入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

Hadoop 改了配置文件yarn-site.xml不生效,Container killed处理办法,vi出现 found a swap处理

创建时间:2017-11-22 投稿人: 浏览次数:894


Eclipse远程提交JOB:

远程提交Hadoop Job时候:一般来说需要在用户Job 配置4个文件:

core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml 


但是可能遇到这个问题:

在用户JOb中修改yarn-site.xml 配置:

 <!--ResourceManager内存资源的配置-->
	   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>9216</value>
        <discription>每个节点可用内存,单位MB,默认8182MB</discription>
       </property>
       <property>
            <name>yarn.scheduler.minimum-allocation-mb</name>
            <value>4096</value>
        </property>
		
		<!--NodeManager的配置-->
        <property>
            <name>yarn.nodemanager.vmem-pmem-ratio</name>
            <value>4.2</value>
        </property>
		<property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
        </property>
		<property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>8192</value>
        </property>

发现不生效,为什么啊?!

思考来发现在集群中修改配置: 这里要注意 要修改你ResourceManager部署的那几台都要修改,否则修改后,有发现不生效,这个是因为 你修改的那个可能是standy状态,

不是Active状态,可以使用:

   yarn rmadmin –getServiceState rm1


查看ResourceManager状态

注:
rm1是ResourceManager的别名 一般在yarn-site.xml中配置


但是为啥在用户Job修改mapred-site.xml为什么生效呢?

因为这个是关于MaoReduce配置的,即使Job的配置,用户Job配置好了,远程提交就会生效的

 <!--ApplicationMaster配置-->
	  <!--  <property>
			<name>mapreduce.map.java.opts</name>
	        <value>-Xmx1280m -Xms1280m -Xmn256m -XX:SurvivorRatio=6 -XX:MaxPermSize=128m</value>
	 </property>-->
	    <property>
          <name>mapreduce.map.memory.mb</name>
          <value>2048</value>
        </property>
		<property>
			<name>mapreduce.reduce.memory.mb</name>
			<value>4096</value>
		</property>
	    <property>
		    <name>mapred.child.java.opts</name>
			<value>-Xmx4096M</value>
	    </property>
		<property>
            <name>mapreduce.job.reduces</name>
            <value>4</value>
        </property>
		<property>
            <name>mapreduce.job.maps</name>
            <value>18</value>
        </property>




Container killed处理办法

如果有问题:

ontainer [pid=9989,containerID=container_e04_1511333006873_0012_01_000002] is running beyond virtual memory limits. Current usage: 420.2 MB of 2 GB physical memory used; 6.0 GB of 4.2 GB virtual memory used. Killing container

怎么解决:

修改集群上yarn-site.xml的配置即可:把如下参数调大:


yarn.nodemanager.vmem-pmem-ratio

<property>
             <name>yarn.nodemanager.vmem-pmem-ratio</name>
             <value>4.2</value>
       </property>
       <property>
            <name>yarn.scheduler.minimum-allocation-mb</name>
            <value>3072</value>
      </property>   


linux 有关的:Found a swap 

当打开Vi编辑器时出现以下的提示时不要着急
E325: ATTENTION
Found a swap file by the name "/etc/.profile.swp

解决办法:

1)ls -a 列举所有的内容 

2)rm对应的.swp文件。




















声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。