HDFS HA补充
#hadoop
HDFS HA命令
hdfs dfsadmin -report 报告集群情况
hdfs haadmin -getServiceState nn2 查看NameNode2 是active还是standby
hdfs hasdmin -transitionToActive --forcemanual nn2 手动将nn2 转为active
会报告nn1 is already active
所以无法切换
第二种方式是将nn1切换为standby:
hdfs hasdmin -transitionToStandby --forcemanual nn1
hdfs zkfc -help zookeeper failover control 的帮助
yarn rmadmin - 高可用情况下yarn的命令使用
Uber
用户可以通过启用Uber组件来允许jvm重用—即在同一个container里面依次执行多个task,在yarn-site.xml文件中,改变几个参数的配置即可启用Uber
mapreduce.job.ubertask.enable
值为true
mapreduce.job.ubertask.maxmaps
map任务数的阀值 9
mapreduce.job.ubertask.maxreduces
reduce任务数的阀值 1
mapreduce.job.ubertask.maxbytes
application的输入大小的阀值
默认为dfs.block.size的值
动态增删节点
在不重启集群的情况下添加节点
动态添加DataNode节点:
- 在etc/hadoop下新建dfs-hosts.conf文件,添加主机名字
- 在hdfs-site中添加 dfs.hosts标签
- hdfs dfsadmin –refreshNodes 刷新节点(动态添加时刷不刷新都可以)
- Hdfs dfsadmin –report 报告节点
- 在新节点中启动: start-balancer.sh 均衡当前的hdfs块(按需求而定***小心)(若NameNode已经没有负载空间)
删除节点:
- 需要在hdfs-site.xml配置文件中配置:
- 文件中添加需要删除的节点
- 然后执行刷新命令hdfs.dfsadmin -refreshNodes
- 根据hdfs dfsadmin -report 查看该节点的情况
- 在节点中关闭进程:
sbin/hadoop-daemon.sh stop datanode
sbin/hadoop-daemon.sh stop nodemanager
服务器的时间同步
- date -s 直接设置服务器的时间 hwclock -w 生效
- ntpdate 时间服务器
- 同步到一台服务器上(NameNode)
1.在NameNode节点上配置时间服务器
检查ntpd服务器是否存在,如果不存在先安装该服务
yum -y install ntp.x86_64
::安装成功之后,配置时间服务器文件::
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0
客户端:
先安装ntpdate
yum -y install ntpdate.x86_64
测试:
ntpdate hadoop02
编辑定时任务列表:
crontab -e
*/1 * * * * /usr/sbin/ntpdate hadoop01 >> /dev/null
配置ntpd开机自启:
chkconfig ntpd on
安全模式
安全模式:
- 调整配置
- 手动离开安全模式
hdfs dfsadmin -safemode enter/leave
检查错误的块
hdfs fsck /
解决方法:删除
Hdfs fsck -delete / - 暴力解决
重新格式化:
删除hadoopdata