背景:(测试环境)只有两台机器一台namenode一台namenode,但集群只有一个结点感觉不出来效果,在namenode上挂一个datanode就有两个节点,弊端见最后

操作非常简单(添加独立节点参照:http://www.cnblogs.com/pu20065226/p/8493316.html)

1.修改namenode节点的slave文件,增加新节点信息

[hadoop@hadoop-master hadoop]$ pwd
/usr/hadoop/hadoop-2.7./etc/hadoop
[hadoop@hadoop-master hadoop]$ cat slaves
slave1
hadoop-master
[hadoop@hadoop-master hadoop]$

2.启动新datanode的datanode和nodemanger进程

先确认namenode和当前的datanode中,etc/hoadoop/excludes文件中无待加入的主机,再进行下面操作

[hadoop@slave2 hadoop-2.7.]$ sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /usr/hadoop/hadoop-2.7./logs/hadoop-hadoop-datanode-slave2.out
[hadoop@slave2 hadoop-2.7.]$ sbin/yarn-daemon.sh start nodemanager
starting datanode, logging to /usr/hadoop/hadoop-2.7./logs/yarn-hadoop-datanode-slave2.out
[hadoop@slave2 hadoop-2.7.]$
91284 SecondaryNameNode
90979 NameNode
91519 ResourceManager
41768 DataNode
41899 NodeManager
41999 Jps
[hadoop@slave2 ~]$

3.在NameNode上刷新节点

[hadoop@hadoop-master ~]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
[hadoop@hadoop-master ~]$sbin/start-balancer.sh

4.在namenode查看当前集群情况,

确认节点已经正常加入

[hadoop@hadoop-master hadoop-2.7.]$ hdfs dfsadmin -report
Configured Capacity: (54.63 GB)
Present Capacity: (33.52 GB)
DFS Remaining: (33.52 GB)
DFS Used: (508.47 KB)
DFS Used%: 0.00%
Under replicated blocks:
Blocks with corrupt replicas:
Missing blocks:
Missing blocks (with replication factor ): -------------------------------------------------
Live datanodes (): Name: 192.168.48.129:50010 (hadoop-master)
Hostname: hadoop-master
Decommission Status : Normal
Configured Capacity: 38588669952 (35.94 GB)
DFS Used: 213476 (208.47 KB)
Non DFS Used: 16331292188 (15.21 GB)
DFS Remaining: 22257164288 (20.73 GB)
DFS Used%: 0.00%
DFS Remaining%: 57.68%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Mon Mar 19 19:54:45 PDT 2018 Name: 192.168.48.132: (slave1)
Hostname: slave1
Decommission Status : Normal
Configured Capacity: (18.70 GB)
DFS Used: ( KB)
Non DFS Used: (5.91 GB)
DFS Remaining: (12.79 GB)
DFS Used%: 0.00%
DFS Remaining%: 68.41%
Configured Cache Capacity: ( B)
Cache Used: ( B)
Cache Remaining: ( B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers:
Last contact: Mon Mar :: PDT

网页查看

弊端(来源网络):首先NameNode将文件命名空间的状态保存在状态中,比如哪个文件块在哪个datanode上,由于在较大的hadoop集群中,会存在很多文件块,这样就会占用NameNode很大的内存,所以不会浪费NameNode的计算资源 其次,对于长时间运行的集群来说,NameNode一致将命名空间的状态变化写入edits日志文件,时间久了该文件也会很大,只要将NameNode的存储规划的合理,是不会浪费存储的

hadoop集群重要的是保证namdenode的长期稳定运行,把datanode放在namenode上,增加了namenode的负担,datanode占用大量的磁盘io,网络流量可能导致hdfs响应慢,错误率增加,要进行大量错误恢复,这影响集群的稳定性。

至于namenode是否浪费资源,namenode要维护整个集群的(一,二级关系)一、目录树,文件元信息,二、块到数据节点的映射。对于一定规模的集群要消耗大量的内存,cpu资源。namenode还会把一级关系持久化到镜像文件中,并且用编辑日志保证数据被持久化。这也会占用大量的存储资源,同事,有大量的datanode节点,可能还有大量的客户端同namenode进行网络通信。综上,namenode资源并没浪费!

hadoop集群namenode同时挂datanode的更多相关文章

  1. 解决Hadoop集群hdfs无法启动DataNode的问题

    问题描述: 在hadoop启动hdfs的之后,使用jps命令查看运行情况时发现hdfs的DataNode并没有打开. 笔者出现此情况前曾使用hdfs namenode -format格式化了hdfs ...

  2. hadoop 集群 master datanode 没有启动

    2018-02-07 02:47:50,377 WARN org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Inco ...

  3. Hadoop集群搭建(完全分布式版本) VMWARE虚拟机

    Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...

  4. 关于hadoop集群下Datanode和Namenode无法访问的解决方案

    HDFS架构 HDFS也是按照Master和Slave的结构,分namenode,secondarynamenode,datanode这几个角色. Namenode:是maseter节点,是大领导.管 ...

  5. Hadoop集群datanode磁盘不均衡的解决方案

    一.引言: Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点,节点与节点之间磁盘大小不一样等等.当hdfs出现不平衡状况的时候,将引发很多问题,比 ...

  6. hadoop集群无法找到datanode节点问题解决

    问题:在配置hadoop集群时,master的50070后台中找不到slave的datanode节点怎么办? 解决: 方法一:首先确认下master和slave的hdfs-site.xml配置中的df ...

  7. Hadoop集群datanode磁盘不均衡的解决方案【转】

    一.引言: Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点,节点与节点之间磁盘大小不一样等等.当hdfs出现不平衡状况的时候,将引发很多问题,比 ...

  8. Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...

  9. Apache Hadoop集群安装(NameNode HA + YARN HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.16 ...

随机推荐

  1. DS图遍历--深度优先搜索

    DS图遍历--深度优先搜索 题目描述 给出一个图的邻接矩阵,对图进行深度优先搜索,从顶点0开始 注意:图n个顶点编号从0到n-1 代码框架如下: 输入 第一行输入t,表示有t个测试实例 第二行输入n, ...

  2. pandas的离散化,面元划分

    pd.cut pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=, include_lowest=False) ...

  3. 浏览器唤起APP的功能

    http://blog.html5funny.com/2015/06/19/open-app-from-mobile-web-browser-or-webview/ http://panli.mu.g ...

  4. centos6.9安装oracle11g

    感谢强哥的文档 源文档链接 https://www.qstack.com.cn/archives/68.html #------------------------------------------ ...

  5. Css学习(4)

    文档流(标准流) 元素自上而下,自左而右,块元素独占一行,行内元素在一行上显示,碰到父集元素的边框换行. 浮动布局 float:  left   |   right 特点: ★元素浮动之后不占据原来的 ...

  6. C/C++ 与 Python 的通信

    作者:Jerry Jho链接:https://www.zhihu.com/question/23003213/answer/56121859来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  7. 第11课 std::bind和std::function(2)_std::bind绑定器

    1. 温故知新:std::bind1st和std::bind2nd (1)bind1st.bind2nd首先它们都是函数模板,用于将参数绑定到可调用对象(如函数.仿函数等)的第1个或第2个参数上. ( ...

  8. Http跨域

    一.传统 ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全. 即使使用jQuery的json ...

  9. 推荐7个GitHub上不错的Python机器学习项目

    1.Pylearn2 [Star:2633] Pylearn是一个让机器学习研究简单化的基于Theano的库程序. 2. Scikit-learn [Star:32449] Scikit-learn是 ...

  10. OpenStack各组件逻辑关系、通信部署关系及工作流程

    一. OpenStack组件之间的逻辑关系 OpenStack 是一个不断发展的系统,所以 OpenStack 的架构是演进的,举个例子: E 版本有5个组件  Compute 是 Nova:Imag ...