1011yarn配置

1、下载虚拟机进程显示程序

因为之前sdkman下载的jdk不能显示进程,所以要更换jdk

进入yum源,用命令下载(此处的cloudera下载连接是老师的)

wget -c http://192.168.10.120/tools/jdk/cloudera-manager.repo

2、清除缓存

yum clean all

3、重新制作缓存

yum makecache

查看已安装的jdk

yum list installed |grep java

卸载它

yum -y remove java-1.8.0-openjdk.x86_64

查看可安装的cloudera

yum list |grep cloudera

安装cloudera

查看是否安装成功,安装成功

修改/root/.bashrc 文件,添加Java路径

export JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera/

export PATH=$PATH:$JAVA_HOME/bin

激活刚刚的设置

source ~/.bashrc 

查看当前进程,设置成功

2、yarn配置

在/root/server/hadoop-3.2.3/etc/hadoop/yarn-site.xml中<configuration>里添加以下代码

<!--指定resourcemanager 位置节点-->

<property>

   <name>yarn.resourcemanager.hostname</name>

   <value>qwd</value>

</property>

<property>

   <name>yarn.resourcemanager.webapp.address</name>

   <value>qwd:8088</value>

</property>

 <!-- 启动historyserver 服务 只对mr 有效-->

<property>

   <name>yarn.log.server.url</name>

   <value>http://qwd:19888/jobhistory/logs</value>

</property>

 <!-- 每个nodemanager 节点可用可供集群使用的内存,单位MB 1-->

<property>

   <name>yarn.nodemanager.resource.memory-mb</name>

   <value>8192</value>

</property>

 <!-- 每个nodemanager节点 可提供的虚拟CPU个数(线程数,并发数)-->

<property>

   <name>yarn.nodemanager.resource.cpu-vcores</name>

   <value>8</value>

</property>

 <!-- 是否启动一个线程 检查任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉-->

<property>

   <name>yarn.nodemanager.pmem-check-enabled</name>

   <value>false</value>

</property>

 <!--是否启动一个线程 检查任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉-->

<property>

   <name>yarn.nodemanager.vmem-check-enabled</name>

   <value>false</value>

</property>

 <!-- 任务每使用1MB物理内存,最多可使用虚拟内存量,默认是2.1-->

<property>

   <name>yarn.nodemanager.vmem-pmem-ratio</name>

   <value>2.1</value>

</property>

 <!-- yarn 分配资源 最少内存,默认1024MB RAM-per-container-->

<property>

   <name>yarn.scheduler.minimum-allocation-mb</name>

   <value>1024</value>

</property>

 <!-- yarn 分配资源 最小线程数,默认是1-->

<property>

   <name>yarn.scheduler.minimum-allocation-vcores</name>

   <value>1</value>

</property>

 <!-- yarn 分配资源 最大内存,默认8192MB-->

<property>

   <name>yarn.scheduler.maximum-allocation-mb</name>

   <value>4096</value>

</property>

 <!-- yarn 分配资源 最大线程数,默认是32-->

<property>

   <name>yarn.scheduler.maximum-allocation-vcores</name>

   <value>4</value>

</property>

 <!--nodemanager 节点间数据传输方式-->

<property>

   <name>yarn.nodemanager.aux-services</name>

   <value>mapreduce_shuffle</value>

</property>

 <!-- nodemanager 中间结果存放位-->

<property>

   <name>yarn.nodemanager.local-dirs</name>

   <value>/yarn/local</value>

</property>

 <!-- nodemanager 日志存放地址-->

<property>

   <name>yarn.nodemanager.log-dirs</name>

   <value>/root/dfs/yarn/logs</value>

</property>

3、mapreduce 资源配置

在/root/server/hadoop-3.2.3/etc/hadoop/mapred-site.xml中<configuration>里添加以下代码

<!-- 执行mapreduce 任务所使用的资源框架,默认为local 集群用yarn-->

<property>

   <name>mapreduce.framework.name</name>

   <value>local</value>

</property>

 <!-- mapreduce 计算记录-->

<property>

   <name>mapreduce.jobhistory.address</name>

   <value>qwd:10020</value>

</property>

<property>

   <name>mapreduce.jobhistory.webapp.address</name>

   <value>qwd:19888</value>

</property>

 <!-- 主任务进程 申请的内存量-->

<property>

   <name>yarn.app.mapreduce.am.resource.mb</name>

   <value>2048</value>

   <discription>2 * 任务子进程资源</discription>

</property>

 <!-- 任务主进程 申请的内存量中用于业务数据的内存(比例0.75 其余是jvm自身的开销)-->

<property>

   <name>yarn.app.mapreduce.am.command-opts</name>

   <value>-Xmx1500m</value>

</property>

<property>

   <name>yarn.app.mapreduce.am.resource.cpu-vcores </name>

   <value>2</value>

   <discription>2 * 任务子进程资源</discription>

</property>

 <!-- mapreduce 任务主进程 最大失败尝试次数-->

<property>

   <name>mapreduce.am.max-attempts</name>

   <value>3</value>

</property>

 <!-- mapreduce(map) 任务子进程 申请的线程数量-->

<property>

   <name>mapreduce.map.cpu.vcores</name>

   <value>1</value>

</property>

 <!-- mapreduce (map) 任务子进程 申请的内存-->

<property>

   <name>mapreduce.map.memory.mb</name>

   <value>1024</value>

</property>

 <!-- mapreduce(map) 任务子进程 申请的内存 用于业务的内存数量-->

<property>

   <name>mapreduce.map.java.opts</name>

   <value>-Xmx750m</value>

</property>

<property>

   <name>mapreduce.map.maxattempts</name>

   <value>3</value>

   <discription>表示 Reduce Task 最大失败尝试次数,这个配置默认是4 </discription>

</property>

 <!-- mapreduce(reduce) 任务子进程 申请的线程数量-->

<property>

   <name>mapreduce.reduce.cpu.vcores</name>

   <value>1</value>

</property>

 <!-- mapreduce(reduce) 任务子进程 申请的内存-->

<property>

   <name>mapreduce.reduce.memory.mb</name>

   <value>1024</value>

</property>

 <!-- mapreduce(reduce) 任务子进程 申请的内存 用于业务的内存数量-->

<property>

   <name>mapreduce.reduce.java.opts</name>

   <value>-Xmx750m</value>

</property>

<property>

   <name>mapreduce.reduce.maxattempts</name>

   <value>3</value>

   <discription>表示 Reduce Task 最大失败尝试次数,这个配置默认是4</discription>

</property>

<property>

   <name>mapreduce.reduce.shuffle.memory.limit.percent</name>

   <value>0.3</value>

   <discription>单个 shuffle 消耗的内存占reduce 所有内存的比例,默认值为0.25</discription>

</property>

<property>

   <name>mapreduce.task.io.sort.mb</name>

   <value>150</value>

   <discription>mr 中间数据的缓存大小,占用map申请的资源</discription>

</property>

<property>

   <name>mapreduce.task.io.sort.spill.percent</name>

   <value>0.8</value>

   <discription>中间数据缓存达到比例写磁盘</discription>

</property>

<property>

   <name>mapreduce.map.output.compress</name>

   <value>false</value>

   <discription>中间数据写磁盘时是否压缩</discription>

</property>

<property>

   <name>mapreduce.jobhistory.intermediate-done-dir</name>

   <value>hdfs:///hadoop/mr_history/done_intermediate</value>

   <discription>mr 正在运行 的日志存放位置hdfs</discription>

</property>

<property>

   <name>mapreduce.jobhistory.done-dir</name>

   <value>hdfs:///hadoop/mr_history/done</value>

   <discription>mr 运行过的日志存放位置hdfs</discription>

</property>

<property>

   <name>mapreduce.job.reduce.slowstart.completedmaps</name>

   <value>0.4</value>

   <discription>map task 完成一定比例启动 reduce</discription>

</property>

<property>

   <name>yarn.app.mapreduce.am.job.reduce.rampup.limit</name>

   <value>0.5</value>

   <discription>maptask 完成之前,最多启动 reduce 比例</discription>

</property>

<property>

   <name>yarn.app.mapreduce.am.job.reduce.preemption.limit</name>

   <value>0.4</value>

   <discription>map 暂时无法获取资源,最多可以抢占reduce比例</discription>

</property>

<property>

   <name>mapreduce.task.io.sort.factor</name>

   <value>5</value>

   <discription>map 全部完成,有 map输出最大文件数</discription>

</property>

<property>

   <name>mapreduce.reduce.shuffle.parallelcopies</name>

   <value>5</value>

   <discription>reduce 同时取 N 个 map 输出数据</discription>

</property>

4、启动yarn

yarn --daemon start resourcemanager

yarn --workers --daemon start nodemanager

mapred --daemon start historyserver

可以加上昨天hdfs的启动命令,启动之后用jps查看进程,出现如上情况则启动成功

5、尝试计算圆周率

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.3.jar pi 1000 1000

经过漫长的等待之后……出现如下结果

出现异常:org.apache.hadoop.ipc.RenoteException(java.io.IOException

出现原因:修改core-site.xml后没有清空缓存就格式化了,造成spaceID不一致

解决方法:先清空缓存,再格式化。具体方法见上一章

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值