08Hadoop架构的Yarn & MapReduce集群配置,时间同步,安全模式,动态增删节点——好程序

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> 

一行一个机器名,然后还是需要刷新节点的,

发布了204 篇原创文章 · 获赞 16 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/penghao_1/article/details/104387507