使用docker快速开发了一个单节点的hadoop
首先去docker hub上搜索hadoop



使用hadoop3.1.3的TAG即可,分别拉去datanode和namenode的镜像到本地

官方提供了修改配置文件的方法:

拉取完成后分别执行如下命令:

docker run -d \
--name hadoopmaster \
--hostname hadoopmaster \
-e CLUSTER_NAME=xxx \ #该镜像需要填写cluster_name才能创建
-e CORE_CONF_fs_defaultFS=hdfs://hadoopmaster:8020 \ #修改core-site.xml 的配置项(这里要和datanode对应一样,才能让datanode注册到该namenode上)
-e HDFS_CONF_dfs_namenode_datanode_registration_ip___hostname___check=false \ (此添加项改为false,否则会报Datanode denied communication with namenode because hostname cannot xxx 的异常)
-e CORE_CONF_hadoop_tmp_dir=/hadoop/dfs/data -v
-e HDFS_CONF_dfs_permissions_enabled=false \(将权限关闭,否则hbase连接时会报写入权限问题)
/home/xxx/hadoop1/name:/hadoop/dfs/data \
-P -p 8020:8020 你的imageID(namenode)
docker run -d --name datanode01 --hostname datanode01 --link hadoopmaster(必须加上才能通信到上面创建的镜像)  -e CORE_CONF_fs_defaultFS=hdfs://hadoopmaster:8020 -e CORE_CONF_hadoop_tmp_dir=/hadoop/dfs/data \
-e HDFS_CONF_dfs_namenode_datanode_registration_ip___hostname___check=false \
-e HDFS_CONF_dfs_permissions_enabled=false \(将权限关闭,否则hbase连接时会报写入权限问题) \
-v /home/xxx/hadoop1/data1:/hadoop/dfs/data -P 你的imageID(datanode)

注:最开始启动时会报出域名解析问题(通过docker logs 镜像id查看)
由于配置hadoop没有使用host+hostname的配置方式,所以hadoop无法解析DataNode,从而注册出了问题。
解决方法是在hdfs-site.xml中添加,也就是上面的响应-e 修改配置参数

<property><name>dfs.namenode.datanode.registration.ip-hostname-check</name><value>false</value>
</property>

这里还要注意一点没有改workers文件是因为直接单启动,不是群起,只要fs_defaultFS一样即可以注册上

记录docker开发hadoop,解决bug Datanode denied communication with namenode because hostname cannot be相关推荐

  1. 记录工作中第一次解决bug的小事

    关于在openwrt中丢配置的问题     前一段时间,就是国庆节前一两天吧,我的导师带我们去实验室,任务就是改正测试部门发来的bug.本来分了我五个问题,但是因为我之前没有经验,所以着重改其中一个b ...

  2. [记录]mscorlib recursive resource lookup bug解决方法

    [记录]mscorlib recursive resource lookup bug解决方法 参考文章: (1)[记录]mscorlib recursive resource lookup bug解决 ...

  3. Apache Hadoop 答疑:解决 Apache Hadoop 启动时 DataNode 启动异常的问题

    文章目录 前言 一.启动 HDFS 并显示当前所有 Java 进程 二.DataNode 启动异常场景描述 三.DataNode 启动异常解决方式 四.Web 界面检查 Hadoop 信息 总结 前言 ...

  4. Android实际开发中的bug总结与解决方法(一)

    Android实际开发中的bug总结与解决方法(一) 参考文章: (1)Android实际开发中的bug总结与解决方法(一) (2)https://www.cnblogs.com/ywq-come/p ...

  5. HBase中此类异常解决记录org.apache.hadoop.ipc.RemoteException(java.io.IOException):

    HBase中此类异常解决记录org.apache.hadoop.ipc.RemoteException(java.io.IOException): 参考文章: (1)HBase中此类异常解决记录org ...

  6. org.apache.hadoop.security .AccessControlException: Permission denied:解决方法

    [问题] 编译wordcount时, org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .Ac ...

  7. 软件开发新人如何高效解决BUG

    作为一个软件开发人员,如何高效地解决BUG,有没有方法,有没有捷径,说没有也是没有,但也有一定的流程可以一个新人理解如何面对一个BUG,如何解决BUG才是不浪费时间,不走弯路. 作者:Younger ...

  8. 基于Docker的Hadoop完全分布式安装

    之前安装Hadoop是用VMWare创建虚拟机,然后安装伪分布式,因为虚拟机太慢,太卡,实在没有玩下去的心情了,现在想到Docker可以实现虚拟化,看看能不能安装Hadoop,网上查了查,果然可以,并 ...

  9. 【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)

    -- 步骤 -- 0. 背景 1. 创建出第一个容器 2. 为该容器配置 java 和 hadoop 环境 3. 配置允许外界通过 ssh 连接容器 4. 由该容器克隆出多个容器 5. 为各个容器配置 ...

最新文章

  1. Dalvik与JVM区别
  2. CString 在_UNICODE宏定义下和普通ASCII编码下的不同
  3. Java数据结构与算法:排序算法
  4. 深度学习100例 | 第35天:脑肿瘤识别
  5. 最邻近插值法(The nearest interpolation)实现图像缩放
  6. activemq网络桥接_ActiveMQ –经纪人网络解释
  7. Java EE 6与Spring Framework:技术决策过程
  8. MySQL————表维护相关低频操作总结
  9. 硬核干货!大学老师2019必备工作神器汇总(附下载链接)
  10. linux内核奇遇记之md源代码解读之四
  11. 大学生 生活小技巧:利用插件(Tampermonkey )学习网课 | 查题
  12. LeetCode 56~60
  13. onlyoffice 自动保存_onlyoffice服务在线编辑文档保存解析
  14. 解析少儿编程与创客教育的实战原理
  15. idea maven项目导入下载好的jar包
  16. bcm54xx系列phy光口电口的配置方法
  17. TP与laravel简介
  18. Java算法:牛客网字节跳动笔试真题算法Java版1-27题
  19. java后端内部面试题
  20. 标普全球普氏推出区块链网络追踪阿联酋的石油数据

热门文章

  1. Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字
  2. c语言fmt,Go 标准库-fmt
  3. 定制kali linux
  4. hdu 3047 Zjnu Stadium(并查集)
  5. iOS的runtime运行时机制
  6. User profile synchronization service starting issues 用户配置文件同步服务启动问题
  7. 京东商城确认购买jingdong.com域名
  8. 操作系统实验报告3:Linux 下 x86 汇编语言2
  9. snmp-smtp=smb扫描
  10. HarmonyOS之常用组件Image的功能和使用