前天遇到一个hadoop问题,由于之前都是伪分布的情况,没有真正的涉及到集群的环境,最近按照一些资料自己搭建了一个集群环境,三台虚拟机,一个master,两个slave,利用jps查看节点信息,启动了所有的节点,包括数据节点datanode,但是在Web UI中查看活节点,显示为0,我执行hadoop fs -mkdir /input 成功,毫无疑问,当我执行hadoop fs -put ~/file/file*.txt /input/,时报错了,错误信息是could only be replicatied to 0 nodes, instead of 1,意思就是我的集群设置是至少要又一个1个节点,但是现在检测呆0个节点,
这个时候查看slave上的datannode日志文件,发现下面信息,这个的意思就是slave和master的通信没有成功,slave向发送心跳,没有被master接收懂啊;好了这个时候,我就百度这个问题,天啦,各种瞎搞,什么防火墙啊,-format之类,全部检查了一个遍,各种设置,但是无济于事,这个异常始终存在;
 
2017-03-31 01:56:05,272 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
2017-03-31 01:56:05,273 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 50020: starting
2017-03-31 01:56:05,591 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: hadoop.master/192.168.62.130:9000
2017-03-31 01:56:10,595 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: hadoop.master/192.168.62.130:9000
2017-03-31 01:56:15,599 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: hadoop.master/192.168.62.130:9000
2017-03-31 01:56:20,603 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: hadoop.master/192.168.62.130:9000
2017-03-31 01:56:25,607 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: hadoop.master/192.168.62.130:9000
直到昨天我用命令,netstat dfsadmin -report 在master节点上查看活节点信息,好了,报错了,错误是(忘记截图了)
Access denied for user 。。。。。。。。。。
意思就是权限问题,然后又开始各种搜索,有说什么ssh,ip的,我都检查了,就是不行,但是最后看到了一个博客,我一看,觉得说的和我的问题没多大关系,估计也解决不了我的问题,但是还是抱着侥幸的心理尝试了一下,解决方法是:
在hdfs-site.xml文件中添加
<property>  
        <name>dfs.permissions</name>  
        <value>false</value>  
 </property> 

然后再一次重启hadoop,执行netstat dfsadmin -report ,我天,奇迹出现了,我的两个datanode信息,打印出来,WebnUI中也出现了live nodes 为2 ,接下来遍跑通了我的例子,

到此完美解决了我的问题,至于这两句话我不是很理解,看意思false,估计是屏蔽权限,不需要权限吧,所以slave和master通信成功;
这个问题困扰很久,很多方法都试过了,没用,说明我们遇到问题一定要先分析,不能盲目的去试各种方案,因为同一个问题的引发原因有很多,这一点需要具体问题具体分析;
 

hadoop节点之间通信问题的更多相关文章

  1. (六)ROS话题---节点之间通信的方式

    1. 理解 ROS 话题: (Ctrl+Alt+T 打开一个新终端) 运行下面的命令: $ roscore (Ctrl+Alt+T 打开一个新终端) $ rosrun turtlesim turtle ...

  2. <关于数据仓库>基于docker的Mysql与Hadoop/Hive之间的数据转移 (使用Apache Sqoop™)

    原创博客,转载请联系博主! 摘要:本文介绍了如何使用docker快速搭建一个可以从外部访问的mysql服务容器,和由docker搭建的分布式Hadoop文件系统,并且使用ApacheSqoop完成将m ...

  3. Prism 4 文档 ---第9章 松耦合组件之间通信

    当构建一个大而负责的应用程序时,通用的做法时将功能拆分到离散的模块程序集中.将模块之间的静态引用最小化.这使得模块可以被独立的开发,测试,部署和升级,以及它迫使松散耦合的沟通. 当在模块之间通信时,你 ...

  4. vue组件之间通信总结(超详细)

    组件通信在我们平时开发过程中,特别是在vue和在react中,有着举足轻重的地位.本篇将总结在vue中,组件之间通信的几种方式: props.$emit $parent.$children $attr ...

  5. 【转】wpa_supplicant与wpa_cli之间通信过程

    [转]wpa_supplicant与wpa_cli之间通信过程 转自:http://blog.chinaunix.net/uid-26585427-id-4051479.html wpa_suppli ...

  6. RAC 安装完成后 节点间通信不依赖于SSH

    RAC 安装完成后,想修改ssh 的端口.google了一下.原文https://community.oracle.com/thread/2444594?tstart=0 原文说的是11g,10g也好 ...

  7. 将单链表的每K个节点之间逆序

    [说明]: 本文是左程云老师所著的<程序员面试代码指南>第二章中“将单链表的每K个节点之间逆序”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路,不包含解析说明, ...

  8. [Cocos2d-x]节点之间的相互通讯

    在做.NET开发时,对象之间的相互通讯一般使用事件(event)实现,事件概念是.NET对Delegate的封装. 在Cocos2d-x开发过程中,对象之间的通讯刚开始时不知道如何实现,于是想到c++ ...

  9. 计蒜客模拟赛D1T2 蒜头君的树:树上节点之间最短距离和

    题目链接:https://nanti.jisuanke.com/t/16446 题意: 给你一棵有n个节点的树以及每条边的长度,输出树上节点之间的最短距离和.然后进行m次操作,每次操作更改一条边的长度 ...

随机推荐

  1. Spring-Day02-依赖注入-作业

    配置beans约束自动提示 spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html中打开xsd-configuratio ...

  2. win10永久激活方法-备份

    百度经验 > 游戏/数码 > 电脑 > 笔记本电脑 Win10专业版永久激活方法 听语音 3780404人看了这个视频 返回 暂停 重播 播放 x       1秒后即将播放下一条视 ...

  3. WebGL学习笔记(2)

    根据上一篇学习笔记,理解WebGL的工作原理及基本调用代码后,可以开始研究3D顶点对象的缩放.旋转.以及对对象进行可交互(鼠标或键盘控制)的旋转或者缩放. 要理解对象的旋转/缩放需要首先学习矩阵的计算 ...

  4. 【TOJ 1449】Area of Circles II(求不同位置的两圆面积之和)

    描述 There are two circles on the plane. Now you must to calculate the area which they cover the plane ...

  5. vue兄弟组件传值$on多次执行的问题

    首先附上如何进行兄弟组件通信的方法链接 https://segmentfault.com/a/1190000011882494 下面是$on多次执行的解决办法 https://blog.csdn.ne ...

  6. php-5.6.26源代码 - hash存储结构 - hash算法

    // zend_inline_hash_func 实现在文件“php-5.6.26\Zend\zend_hash.h” h = zend_inline_hash_func(arKey, nKeyLen ...

  7. phpredis命令

    <?php //redis //检查一个扩展是否已经加载.大小写不敏感. if (!function_exists('redis')) { echo '不支持 redis'; return ; ...

  8. JavaSE基础复习---2---2018/9/28

    目录: 1.数据类型 2.变量 3.数组 1.数据类型 谈到java的数据类型,必须知道java是强类型语言.首先,每个变量有类型,每个表达式有类型,而且每种类型是严格定义的.其次,所有的数值传递,不 ...

  9. LeetCode算法1—— 两数之和

    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...

  10. struts2官方 中文教程 系列七:消息资源文件

    介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...