yarn集群配置与任务调度
yarn集群的安装配置
vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
<!--指定yarn的rm所在的主机名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop0001</value>
</property>
<!--指定mapreduce使用shuffle过程-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定rm的内部通讯端口-->
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop0001:8032</value>
</property>
<!--指定调度队列的访问端口-->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop0001:8030</value>
</property>
<!--指定rm的资源调度的端口-->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop0001:8031</value>
</property>
<!--指定rm的超级管理员的访问端口-->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop0001:8033</value>
</property>
<!--指定rm的web ui的访问端口-->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop0001:8088</value>
</property>
/mapred-site.xml 是指定跑的模式
vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
<!--指定mapreduce的运行框架平台-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>The runtime framework for executing MapReduce jobs.
Can be one of local, classic or yarn.
</description>
</property>
<!--指定历史作业的内部通信端口(配置这个才能有操作日记写进来,否则找到不到操作日记的)-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop0001:10020</value>
</property>
<!--历史作业的web ui的监控端口-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop0001:19888</value>
</property>
时间同步,必须会整,否则会出问题
数量少时候可以一台台操作,如果多了就不能了
Linux中,集群数量多,企业级是不能联外网的,所以可以做一个本地的服务器,
先以老大作为基准服务器,然后小弟同步老大的时间
时间同步:要用到ntpd
1、检查ntpd服务是否存在
配置ntp服务 vi /etc/ntp.conf
-================================
namenode的安全模式及修复
安全模式下,上传文件会直接报错
解决安全模式问题
1、暴力解决
hadoopdata(因为第一次的时候已经生产了这个目录,所以格式化之前先删除这个目录)
重新格式化hdfs namenode -format
2、设置安全阈值 将0.9999进行修改小一点
3、若现在已经在安全模式下,则使用命令强制离开安全模式
hdfs dfsadmin -safemode leave|enter
hdfs fsck / -delete
之所以退出,是因为快丢失的所致,所以退出后,还是需要修复的
先删除某个块
删除错误后,就是可以了。
=================================
动态增删节点
1、静态增删节点(这个是多少台就要启动多少台)
scp (将集群上的配置拷贝到新节点上)
hadoop-daemon.sh (然后启动)
stop-all.sh
start-all.sh
2、动态增删节点(主要)
不能停止服务(主机是不会停的7*24小时工作)
增加节点(就要配置这段)
hdfs-site.xml
<property>
<name>dfs.hosts.exclude</name>
<!-- 要加多少杂合这里配置就可以了-->
<value>/usr/local/hadoopdata/exclude.hosts</value>
<description>Names a file that contains a list of hosts that are
not permitted to connect to the namenode. The full pathname of the
file must be specified. If the value is empty, no hosts are
excluded.</description>
</property>
同时在slaves加节点
加入后,启动,然后执行下面的刷新
hdfs dfsadmin -refreshNodes 刷新节点
之所以加入机器,必然是性能不足
sbin/start-balancer.sh 增删节点后进行数据块的负载均衡(谨慎使用,一般不会手动去做)
hdfs dfs - hdfs shell操作
hdfs dfsadmin -
删除节点:
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoopdata/exclude.hosts</value>
<description>Names a file that contains a list of hosts that are
not permitted to connect to the namenode. The full pathname of the
file must be specified. If the value is empty, no hosts are
excluded.</description>
</property>
一行一个机器名,然后还是需要刷新节点的,