博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态上下线集群详解
阅读量:4323 次
发布时间:2019-06-06

本文共 1396 字,大约阅读时间需要 4 分钟。

动态上下线集群的一些配置:

1、namenode中 hdfs-site.xml 配置  

dfs.hosts
/ddmap/hadoop-1.0.4/conf/hdfs_include
dfs.hosts.exclude
/ddmap/hadoop-1.0.4/conf/hdfs_exclude

  dfs.hosts所对应的文件中列出了所有可以连接到namenode的datanode, 如果为空则所有的都可以连入, dfs.hosts.exclude所对应的文件中列出了禁止连接namenode的datanode节点。  如果一个节点在这两个文件中都存在, 则不允许连入。

  动态下线:

  下线datanode步骤:

    1. 将要下线的机器加入到dfs.hosts.exclude 指定的文件中,(使用主机名, ip基本不靠谱), 然后刷新配置Hadoop dfsadmin -refreshNodes。

    2. 通过hadoop  dfsadmin -report或者web界面, 可以看到, 该datanode状态转化为Decommission In Progress。

    3. 当decommission进程完成数据移动, datanode状态会转变为Decommissioned, 然后datanode会自动停止datanode进程。 然后你可以看见dead nodes下多了一个你想要下线的节点。

    4. 然后删除include 和 exclude 中该节点的hosts, 重新刷新hadoop dfsadmin -refreshNodes。

    5. 最后别忘了删除slaves中该节点的配置, 防止下次整个集群重启时, 该节点不能通过namenode自动启动。

  注意: 当你下线一个datanode节点, 有可能该节点长时间处于Decommission In Progress 状态, 一直不能转变成Decommissioned。 请你用hadoop fsck / 检查下是否有些块少于指定的块数, 特别注意那些mapreduce的临时文件。 将这些删除, 并且从垃圾箱移除, 该节点就可以顺利下线,  这是我想到的解决办法。

  

  动态上线:

  上线一个节点的步骤:

    1.  保证将要上线的机器不存在与dfs.hosts.exclude所对应的文件中, 并且存在于 dfs.hosts 所对应的文件中。

    2. 在namenode上刷新配置:  hadoop  dfsadmin  -refreshNodes。

    3. 在要上线的节点重启 datanode, hadoop-daemon.sh start datanode.

    4. 通过hadoop dfsadmin -report 或者web界面, 可以看到, 节点已经上线。

    5. 还是老话最后别忘了修改slave

 

转载于:https://www.cnblogs.com/fjdsj/p/10095711.html

你可能感兴趣的文章
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
查看>>
项目管理的小故事
查看>>
Visual Studio不显示智能提示代码,快捷键Alt+→也不出现
查看>>
多文件调用(函数、结构体)
查看>>
C# 获取本地电脑所有的盘符
查看>>
D3.js学习(三)
查看>>
汇编语言实验9
查看>>
window资源管理器下无法打开ftp站点
查看>>
spring特点与好处
查看>>
html 自制属性
查看>>
面向对象术语概念
查看>>
细胞(cell) 矩阵快速幂
查看>>
HDU - 1272 小希的迷宫
查看>>
EntityFramework(1)基础概念与Database First
查看>>
Spring Boot 任务
查看>>
2018APIO 进京赶考
查看>>
Duilib程序添加托盘图标显示
查看>>
在windows上搭建redis集群(redis-cluster)
查看>>
【省选十连测之九】【DP】【组合计数去重】【欧拉函数】基本题
查看>>
文件上传功能 -- jquery.form.js/springmvc
查看>>